1.javaScript--->是一种强大的脚本语言 脚本语言:无法独立执行,必须嵌入到其他语言中结合使用 编程语言:独立写程序,可独立运行。 1.javaScript组成 ECMAScript:基础语法 DOM:文档对象模型,对HTML中的 标签进行操作 BOM:浏览器对象模型,对浏览器进行操作 2.引入方式: 内部脚本: <script type=”text/javascript”> JavaScript的代码 </script> 外部引入 <script type=”text/javascript” src=”javascript文件路径” ></script> 2.基本数据类型 1.变量命名规则: 必须以字母或下划线开头,中间可以是数字、字符或下划线 不能使用js关键字如function this class 严格区分大小写 2.定义格式:var 变量名=变量值 3.基本数据类型 string boolean number null undefined 4.运算符 比较运算符< <= > >= != == === //=== 全等,值和类型均相等 逻辑运算符 && || ! 5.typeof可得到变量的类型 如果变量为引用类型或null,返回object 6.引用数据类型: js中不存在类的概念,所处理的引用类型都是对象 创建对象: var str = new String();//和java相同 var str = new String; //js独有的方式 3.正则对象 获取对象: var reg = new RegExp("表达式");--->开发中基本不用 接量方式val reg=/^ ... $/------严格检查 普通方式val reg=/ ... /-------只要有就符合 直接量方式的正则是对象,不是字符串,别用引号 校验方式: reg.test(string); //返回boolean值 4.js数组对象--->可看成Java中的ArrayList 对象创建方式: 1. var arr = [1,2,3,”a”,true]; //常用的JS数组。 长度5。可以为空 2. var arr = new Array(); //创建一个数组对象,数组长度默认为0 3. var arr = new Array(4); //创建了长度为4的数组 4. var arr = new Array(“a”,”b”,true); //创建了一个数组,长度3,数组元素是”a”,”b”,true 常用操作: arr.length arr[index] join("连接符"); //不改变数组内容 返回字符串 arr.reverse(); //反转,改变原数组,有返回值 arr.pop(); //删除操作 arr.push('a',...); //追加1个或多个元素,返回新长度 5.全局函数 eval(string); //把字符串作为js脚本执行 参数只能是基本数据类型 编码和解码: encode() //把字符串编码为URI decode() //解码某个编码URI URI是统一资源标识符。 标识资源详细名称。 //URI标识资源的详细名称,包含资源名。 URL是统一资源定位器。 定位资源的网络位置。 //URL定位资源的网络位置。包含http: 字符串转数字: parseInt(); //解析一个字符串并返回一个整数 parseFloat(); //返回一个浮点 注意事项:如果字符串的某个字符从字面值上无法转为数字,那么从该字符开始停止转换, 仅返回前面正确的转换值。如果第一个字符就无法转,返回NaN 6.函数定义 function 函数名(参数列表){ //参数列表无需使用var关键字 函数体 } 匿名函数定义: var 函数名=function(a,b){ } 函数名(1,2) a.JavaScript函数调用执行完毕一定有返回值,值及类型根据 return决定, 如果未return具体值,返回值为undefined; b.JavaScript函数若同名,则不存在方法重载,只有方法相互覆盖,最后定义的函数覆盖之前的定义; c.因为JavaScript不存在函数重载,所以JavaScript仅根据方法名来调用函数,即使实参与函数的形参不匹配,也不会影响正常调用; d.如果形参未赋值,就使用默认值undefined 7自定义对象 function 对象名(){ 函数体 } var 对象名 = {属性名1:”属性值1”, 属性名2:”属性值2”, 属性名3:”属性值3”……}; //冒号分割,逗号隔开 对象名.name=value //修改或创建属性,有name则修改属性值为value,没有则创建name并赋值 对象名[name]=value //修改或创建属性,有name则修改属性值为value,没有则创建name并赋值,[]里面的属性值可以动态获取(可以写表达式,如this.name) 8.BOM对象 一般情况下,window代表了BOM对象,window是js内置对象,调用方法时可省略不写 消息框: alert(); confirm()该方法有返回值,用户通过选择“确定”或者“取消”,方法结束会返回boolean类型的值。 定时器:循环定时器:setInterval(调用方法,毫秒值); 停止循环定时器:clearInterval() 一次性定时器:setTimeout(调用方法,毫秒值); 停止一次性定时器:clearTimeout() location对象:设置href属性可跳转到对应的路径 //【得到数据】获取到当前的location的对象 var value = location.href; //警告对话框显示路径 alert(value); //【设置数据】设置location的对象 location.href = URL,跳转到相应的路径 location.href = "http://www.itheima.com";
1. DOM对象概述(文档对象模型)
DOM是将标记型文档(HTML)中所有内容都封装成对象,通过操作对象的属性或者方法,来达到操作或改变HTML展示效果的目的
2. DOM树
HTML对象会被浏览器加载并解析到内存中,生成DOM树:
l 每个标签会被加载成 DOM树上的一个元素节点对象。
l 每个标签的属性会被加载成DOM树上的一个属性节点对象
l 每个标签的内容体会被加载成DOM树上的一个文本节点对象
l 整个DOM树,是一个文档节点对象,即DOM对象。
特点:
l 必定有一个根节点
l 每个节点都是节点对象
l 除根节点外每个节点都有一个父节点
l 出叶子节点外每个节点都有一个或多个子节点
l 在js中document代表当前文档对象的引用
3. 通过文档对象获取元素对象
l getElementById();:通过ID获取对应元素对象如果找不到,返回null
l getElementsByName();:通过元素的name属性获取符合要求的所有元素
l getElementsByTagName();:通过元素的元素名属性获取符合要求的所有元素
l getElementsByClassName();:通过元素的class属性获取符合要求的所有元素
除第一个外,可以获取到元素节点对象 数组;如果找不到,返回 空数组,注:获取某个/某些元素节点对象,必须保证元素节点对象被先加载到内存中
补充:
1.document方法:
creatElement(“节点名称”);:创建子元素对象
creatTestNode(“文本”);:创建文本节点
2.element方法:
appendChild(子元素);:添加子元素
removeChild(子元素);:删除子元素(节点)
parentElement;:获取父元素;,也可用parentNode
children;父元素获取所有子元素数组
3.表格属性:
rows;返回所有行的数组
cells:返回行中所有单元格数组
4元素对象常见属性
- value:获取元素对象属性值,采用=“新属性值“ 方式修改属性值,下同
- className: 获取元素对象class属性值
- innerHTML: 获取元素对象内容体
5.js事件
页面上的特效
事件源:专门产生事件的组件
事件:由事件源所产生的动作或事情
监听器:专门处理事件源所产生的事情
注册/绑定监听器:让监听器监听事件源是否有指定事件产生
6.常见的js事件
- 点击事件:onclick=”run()”
- 焦点事件:
a) 获取焦点事件(onfocus)
b) 失去焦点事件(onblur)
- 域内容改变事件:onchange
- 加载完毕事件:onload
- 表单提交事件:onsubmit
<form onsubmit=”return run()”> return boolean返回值,表示是否组织表单数据提交
- 键位弹起事件(onkeyup)
- 常用鼠标事件
a) 鼠标移入事件(onmouseover)
b) 鼠标移出事件(onmonseout)
7.js事件绑定方式
- 元素事件句柄绑定:将事件以元素属性的方式写到标签内部,进而绑定对应函数:
注:this指代当前元素对象,onlick=“run1(), run2(), run3()”,根据绑定事件按顺序执行这三个函数
- DOM绑定方式:
- Document.getElementById(“uname”).onclick=function(){}
注意,这中绑定方式,只能被触发一次
2 匿名函数可绑定多个函数
来源:https://www.cnblogs.com/liuxuelin/p/12310929.html