摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定到底指向誰,實際上的最終指向的是那個調用它的對象案例中,第一個打出來的是,而第二個則是原因函數內部的指向調用者調
網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?1.案例中,第一個say打出來的是Alan,而第二個則是window
this的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個調用它的對象
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()() // window2.原因
函數內部的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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/55009.html
摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢閉包內部的指向是,為什么指向了呢下面通過函數調用模式和部分案例分析了為什么確實如此函數調用的模式方法調用模式和函數調用模式如果一個函數被設置為一個對象的屬性,則稱它為一個方法 網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?閉包內部this的指向是window,為什么指向了window呢?下面通過js...
摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢閉包內部的指向是,為什么指向了呢下面通過函數調用模式和部分案例分析了為什么確實如此函數調用的模式方法調用模式和函數調用模式如果一個函數被設置為一個對象的屬性,則稱它為一個方法 網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?閉包內部this的指向是window,為什么指向了window呢?下面通過js...
摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢閉包內部的指向是,為什么指向了呢下面通過函數調用模式和部分案例分析了為什么確實如此函數調用的模式方法調用模式和函數調用模式如果一個函數被設置為一個對象的屬性,則稱它為一個方法 網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?閉包內部this的指向是window,為什么指向了window呢?下面通過js...
摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定到底指向誰,實際上的最終指向的是那個調用它的對象案例中,第一個打出來的是,而第二個則是原因函數內部的指向調用者調 網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?this的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定this...
閱讀 1459·2021-11-22 13:52
閱讀 1281·2021-09-29 09:34
閱讀 2690·2021-09-09 11:40
閱讀 3031·2019-08-30 15:54
閱讀 1255·2019-08-30 15:53
閱讀 971·2019-08-30 11:01
閱讀 1354·2019-08-29 17:22
閱讀 1943·2019-08-26 10:57