简析 闭包,作用域,this

var x=1;
function test() {
   alert(this.x);
   alert(x);
}

function y() {
var z={x:2};
var x=5;
test.call(z);
}

y();
test();


 

运行结果为:2 1 1 1

 

 

1.其中this不固定 ,指的是函数运行时所在的对象 ,obj.func 或 func.aplpy(obj)   this=obj

 

2.而函数里的变量则是指函数定义时作用域内的变量,与调用处无关 ,这就是闭包 closure ,这就是 脚本语言的一个特性,由于 脚本语言本身就是有 一个宿主程序 来解释执行他的 ,故 context 上下文信息 可以由宿主程序跟踪记录 ,随时查询。

 

3.ps: jdk7 据说要 加入 闭包特性

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值