码迷,mamicode.com
首页 > 其他好文 > 详细

S1:函数上下文

时间:2014-08-20 08:08:26      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   io   cti   div   log   

函数的上下文是可以变化的,因此,函数内的this也是可以变化的,函数可以作为一个对象的方法,也可以同时作为另一个对象的方法,总之,函数本身是独立的。可以通过Function对象上的call或者apply函数来修改函数的上下文:

//定义一个全局的函数对象
function printName(){
    return this.name;
}
//设置printName的上下文为jack, 此时的this为jack
print(printName.call(jack));
//设置printName的上下文为abruzzi,此时的this为abruzzi
print(printName.call(abruzzi));

print(printName.apply(jack));
print(printName.apply(abruzzi));

//只有一个参数的时候call和apply的使用方式是一样的,如果有多个参数:
setName.apply(jack, ["Jack Sept."]);
print(printName.apply(jack));

setName.call(abruzzi, "John Abruzzi");
print(printName.call(abruzzi));

 

 

S1:函数上下文,布布扣,bubuko.com

S1:函数上下文

标签:style   blog   color   使用   io   cti   div   log   

原文地址:http://www.cnblogs.com/kuangliu/p/3923707.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!