浏览器对象模型
1、window对象:最顶级框架,可以用top获self表示(当页面没有使用iframe时)
2、document对象
3、navigator对象
4、history对象
5、location对象
6、screen对象
JavaScript 函数可以执行本身
( function(){ [代码区域] } )()
JavaScript作用域与作用域链
var只是声明变量而不表示作用域
JavaScript里的一切都是对象,拥有可以通过代码访问的属性和一系列仅供Javascript引擎访问的内部属性,当一个函数被创建时,其scope(作用域链)属性包含了函数被创建的作用域中全局对象的集合,决定了哪些数据能被函数使用;当函数被执行时,一个称之为“活动对象”的集合被创建,包含了函数的所有局部变量,命名函数参数,参数集合以及this,该集合对象随着被推送到scope的最顶端,运行函数时,通过scope标识符检索对象值。由此可以见全局对象由于始终位与scope的最末端,于是是最后被检索
JavaScript 闭包
待定,还是一知半解啊
作用:读取函数内部函数,是变量一直保存在内存中:
function f(){
var n = 99;
function f1(){
alert(n+=1);
}
return f1;
}
var result = f();
result(); //100;
result(); //101
result(); //102
JavaScript封装
var _person = function(){
//私有方法和属性
var name = "LWenna";
var getName = function(){
return name;
}
//特权属性和方法
this.title = "说明javascript的封转形式";
this.setTitle = function(){
//[....]
}
//公共静态属性和方法
_person.name = "PLWenna";
_person.getName = function(){
return _person.name;
}
//公共属性和方法
_person.prototype = {
name : "pro_LWenna",
init : function(){
//[....]
}
}
}