变量
1:全局变量,从定义开始,一直到文档的之后
无论从任何位置,定义变量不加var关键字都会成为全局变量
2:局部变量
从定义开始,直到包含它的大括号结束为止
当局部变量和全局变量发生重复定义的时候 使用局部变量
###数组
Array.length 获取数组长度
Array.concat() 连接两个或更多的数组,并返回结果。
Array.join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
Array.pop() 删除并返回数组的最后一个元素
Array.push() 向数组的末尾添加一个或更多元素,并返回新的长度。
Array.reverse() 颠倒数组中元素的顺序。
Array.shift() 删除并返回数组的第一个元素
Array.slice() 从某个已有的数组返回选定的元素
Array.sort() 对数组的元素进行排序
Array.splice() 删除元素,并向数组添加新元素。
Array.toSource() 返回该对象的源代码。
Array.toString() 把数组转换为字符串,并返回结果。
Array.toLocaleString() 把数组转换为本地数组,并返回结果。
Array.unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
Array.valueOf() 返回数组对象的原始值
###类型转换
parseInt() 值转换成整数
parseFloat() 值转换成浮点数
Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
String(value)——把给定的值转换成字符串。
元素的获取
1、通过ID选取元素(getElementById)
1)使用方法:document.getElementById("domId") 其中,domId为要选取元素的id属性值
2)兼容性:低于IE8版本的IE浏览器对getElementById方法的实现是不区分元素ID号的大小写的,
并且会返回匹配name属性的元素。
2、通过名称name选取元素(getElementsByName)
1)使用方法:document.getElementsByName("domName")
其中,domName为要选取元素的name属性值
2)说明:a. 返回值是一个nodeList集合(区别于Array)
b. 和ID属性不一样,name属性只在少数DOM元素中有效(form表单、表单元素、iframe、img)
。这是因为name属性是为了方便提交表单数据而打造的。
c. 为form、img、iframe、applet、embed、object元素设置name属性时,
会自动在Document对象中创建以该name属性值命名的属性。所以可以通过document.domName引用相应的dom对象
3)兼容性:IE中ID属性值匹配的元素也会一起返回
3、通过标签名选取元素(getElementsByTagName)
1)使用方法:element.getElementsByTagName("tagName")
其中,element是有效的DOM元素(包括document)
tagName是DOM元素的标签名
2)说明:a. 返回值是一个nodeList集合(区别于Array)
b. 该方法只能选取调用该方法的元素的后代元素。
c. tagName不区分大小写
d. 当tagName为*时,表示选取所有元素(需遵从b.规则)
e. HTMLDocument会定义一些快捷属性来访问标签节点。
如:document的images、forms、links属性指向<img>、<form>、<a>标签元素集合,
而document.body和document.head总是指向body和head标签
(当未显示声明head标签时,浏览器也会创建document.head属性
)
4、通过CSS类选取元素(getElementsByClassName)
1)使用方法:element.getElementsByClassName("classNames")
其中,element是有效的DOM元素(包括document)
classNames是CSS类名称的组合(多个类名之间用空格,可以是多个空格隔开),
如element.getElementsByClassName("class2 class1")
将选取elements后代元素中同时应用了class1和class2样式的元素样式名称不区分先后顺序)
2)说明:a. 返回值是一个nodeList集合(区别于Array)
b. 该方法只能选取调用该方法的元素的后代元素。
3)兼容性:IE8及其以下版本的浏览器未实现getElementsByClassName方法
5、通过CSS选择器选取元素
1)使用方法:document.querySelectorAll("selector")
其中,selector为合法的CSS选择器
2)说明:a. 返回值是一个nodeList集合(区别于Array)
3)兼容性:IE8及其以下版本的浏览器只支持CSS2标准的选择器语法
className属性
设置元素的clas属性值 会覆盖掉之前的
事件
**鼠标事件**
鼠标移动到目标元素上的那一刻,首先触发mouseover
之后如果光标继续在元素上移动,则不断触发mousemove
如果按下鼠标上的设备(左键,右键,滚轮……),则触发mousedown
当设备弹起的时候触发mouseup
目标元素的滚动条发生移动时(滚动滚轮/拖动滚动条。。)触发scroll
滚动滚轮触发mousewheel,这个要区别于scroll
鼠标移出元素的那一刻,触发mouseout
##**获取事件对象和事件源(触发事件的元素)
function eventHandler(e){
//获取事件对象
e = e || window.event;//IE和Chrome下是window.event FF下是e
//获取事件源
var target = e.target || e.srcElement;//IE和Chrome下是srcElement FF下是target }
**取消事件默认行为(例如点击一个<a>后不跳转页面而是执行一个函数) **
function eventHandler(e) {
e = e || window.event; // 防止默认行为
if (e.preventDefault) {
e.preventDefault();//IE以外
} else {
e.returnValue = false;
//IE //注意:这个地方是无法用return false代替的
//return false只能取消元素
}
}
网友评论