摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢的指向在函數(shù)定義的時候是確定不了的,只有函數(shù)執(zhí)行的時候才能確定到底指向誰,實(shí)際上的最終指向的是那個調(diào)用它的對象案例中,第一個打出來的是,而第二個則是原因函數(shù)內(nèi)部的指向調(diào)用者調(diào)
網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?1.案例中,第一個say打出來的是Alan,而第二個則是window
this的指向在函數(shù)定義的時候是確定不了的,只有函數(shù)執(zhí)行的時候才能確定this到底指向誰,實(shí)際上this的最終指向的是那個調(diào)用它的對象
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.原因
函數(shù)內(nèi)部的this指向調(diào)用者
sayOne調(diào)用者是person對象,所以this指向person;
sayTwo的調(diào)用者雖然也是person對象,但是區(qū)別在于這次調(diào)用并沒有打出this而是在全局返回了一個匿名函數(shù)
而這個匿名函數(shù)不是作為某個對象的方法來調(diào)用執(zhí)行,是在全局執(zhí)行
3.我們也可以更改this指向,這里應(yīng)用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
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/55009.html
摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢閉包內(nèi)部的指向是,為什么指向了呢下面通過函數(shù)調(diào)用模式和部分案例分析了為什么確實(shí)如此函數(shù)調(diào)用的模式方法調(diào)用模式和函數(shù)調(diào)用模式如果一個函數(shù)被設(shè)置為一個對象的屬性,則稱它為一個方法 網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?閉包內(nèi)部this的指向是window,為什么指向了window呢?下面通過js...
摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢閉包內(nèi)部的指向是,為什么指向了呢下面通過函數(shù)調(diào)用模式和部分案例分析了為什么確實(shí)如此函數(shù)調(diào)用的模式方法調(diào)用模式和函數(shù)調(diào)用模式如果一個函數(shù)被設(shè)置為一個對象的屬性,則稱它為一個方法 網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?閉包內(nèi)部this的指向是window,為什么指向了window呢?下面通過js...
摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢閉包內(nèi)部的指向是,為什么指向了呢下面通過函數(shù)調(diào)用模式和部分案例分析了為什么確實(shí)如此函數(shù)調(diào)用的模式方法調(diào)用模式和函數(shù)調(diào)用模式如果一個函數(shù)被設(shè)置為一個對象的屬性,則稱它為一個方法 網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?閉包內(nèi)部this的指向是window,為什么指向了window呢?下面通過js...
摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢的指向在函數(shù)定義的時候是確定不了的,只有函數(shù)執(zhí)行的時候才能確定到底指向誰,實(shí)際上的最終指向的是那個調(diào)用它的對象案例中,第一個打出來的是,而第二個則是原因函數(shù)內(nèi)部的指向調(diào)用者調(diào) 網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?this的指向在函數(shù)定義的時候是確定不了的,只有函數(shù)執(zhí)行的時候才能確定this...
閱讀 1505·2021-11-22 13:52
閱讀 1318·2021-09-29 09:34
閱讀 2718·2021-09-09 11:40
閱讀 3041·2019-08-30 15:54
閱讀 1268·2019-08-30 15:53
閱讀 980·2019-08-30 11:01
閱讀 1369·2019-08-29 17:22
閱讀 1960·2019-08-26 10:57