首页 > 代码库 > S1:函数上下文
S1:函数上下文
函数的上下文是可以变化的,因此,函数内的this也是可以变化的,函数可以作为一个对象的方法,也可以同时作为另一个对象的方法,总之,函数本身是独立的。可以通过Function对象上的call或者apply函数来修改函数的上下文:
//定义一个全局的函数对象function printName(){ return this.name;}//设置printName的上下文为jack, 此时的this为jackprint(printName.call(jack));//设置printName的上下文为abruzzi,此时的this为abruzziprint(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));
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。