摘要:网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定到底指向谁,实际上的最终指向的是那个调用它的对象案例中,第一个打出来的是,而第二个则是原因函数内部的指向调用者调
</>复制代码
网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢?
this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象
1.案例中,第一个say打出来的是Alan,而第二个则是window
</>复制代码
var name = "window"
var person = {
name :"Alan",
sayOne:function () {
console.log(this.name)
},
sayTwo:function () {
return function () {
console.log(this.name)
}
}
}
person.sayOne()//Alan
person.sayTwo()() // window
2.原因
函数内部的this指向调用者
sayOne调用者是person对象,所以this指向person;
sayTwo的调用者虽然也是person对象,但是区别在于这次调用并没有打出this而是在全局返回了一个匿名函数
而这个匿名函数不是作为某个对象的方法来调用执行,是在全局执行
3.我们也可以更改this指向,这里应用JS高级编程的案例</>复制代码
var name = "global";
var foo = {
name: "foo",
getName : function(){
console.log(this.name);
}
}
var bar = {
name: "bar",
getName : function(){
return (function(){
console.log(this.name);
})();
}
}
foo.getName(); //foo
foo.getName.call(bar); //bar
foo.getName.call(this); //global
foo.getName.call(window); //global
(function(){
console.log(this.name)
}.bind(bar))(); //bar
(function(){
console.log(this.name)
}.bind())(); //global
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/55009.html
摘要:网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢闭包内部的指向是,为什么指向了呢下面通过函数调用模式和部分案例分析了为什么确实如此函数调用的模式方法调用模式和函数调用模式如果一个函数被设置为一个对象的属性,则称它为一个方法 网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢?闭包内部this的指向是window,为什么指向了window呢?下面通过js...
摘要:网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢闭包内部的指向是,为什么指向了呢下面通过函数调用模式和部分案例分析了为什么确实如此函数调用的模式方法调用模式和函数调用模式如果一个函数被设置为一个对象的属性,则称它为一个方法 网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢?闭包内部this的指向是window,为什么指向了window呢?下面通过js...
摘要:网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢闭包内部的指向是,为什么指向了呢下面通过函数调用模式和部分案例分析了为什么确实如此函数调用的模式方法调用模式和函数调用模式如果一个函数被设置为一个对象的属性,则称它为一个方法 网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢?闭包内部this的指向是window,为什么指向了window呢?下面通过js...
摘要:网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定到底指向谁,实际上的最终指向的是那个调用它的对象案例中,第一个打出来的是,而第二个则是原因函数内部的指向调用者调 网上看到一句话,匿名函数的执行是具有全局性的,那怎么具有的全局性呢?this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this...
阅读 1668·2021-11-22 13:52
阅读 1503·2021-09-29 09:34
阅读 2876·2021-09-09 11:40
阅读 3105·2019-08-30 15:54
阅读 1338·2019-08-30 15:53
阅读 1048·2019-08-30 11:01
阅读 1464·2019-08-29 17:22
阅读 2036·2019-08-26 10:57