1.Attribute和Property
Attribute就是DOM节点(即html标签)自带的属性,例如html中常用的id、class、title、align等。
Property是这个DOM元素作为对象,js获取的属性,例如childNodes、firstChild等。
attributes是属于propertys的一个子集,一般更改设置值都会互相影响(除了value),但新增属性则不会互相影响
2.load和ready,明确的说明是ready先执行
(1)load: window.onload()=function(){}; 页面中所有元素(包括图片flash)加载完毕后执行,单页面只能有一个
(2)ready: DOM结构加载完毕后就执行,单个页面可以执行多个
$(document).ready(function(){
//执行的代码块;
})
jquery简写:
$(function(){
//
})
3.函数引用和调用、函数声明、函数表达式
(1)函数声明 必须有函数名(如foo),它不是一个可执行语句,不可以自调用
function foo(){
//函数体
}
var f = foo; //函数引用
var ff = foo(); //函数调用,可直接调用foo(),也可调用f()
(2)赋值型函数表达式 即通过表达式定义函数,存储在变量里。函数表达式不需要函数名称,通常通过变量名来调用
var f = function foo(str){
//函数体
}
f(a);
var x=f(a);
//分组括号型函数表达式,这是立即执行函数表达式
(function(){
//函数体
})();
(function foo(){})();
举例:function foo(){}() 报错是因为function foo()是函数语句,而不是表达式,不能直接自调用。若(function foo(){})()则可以。
函数可以在声明之前调用,使用表达式定义函数时无法提升。
myFunction(5);
function myFunction(y) {
return y * y;
}
4.myArray.push(a,b);将数据追加到数组最后,可以是一个或多个数据;myArray.unshift(a,b);.将数据追加到数组最前面,可以是一个或多个数据;myArray.pop()获取数组的最后一个值并移出,myArray.shift()获取数组的第一个值并移出