摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢的指向在函數(shù)定義的時(shí)候是確定不了的,只有函數(shù)執(zhí)行的時(shí)候才能確定到底指向誰(shuí),實(shí)際上的最終指向的是那個(gè)調(diào)用它的對(duì)象案例中,第一個(gè)打出來(lái)的是,而第二個(gè)則是原因函數(shù)內(nèi)部的指向調(diào)用者調(diào)
網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?1.案例中,第一個(gè)say打出來(lái)的是Alan,而第二個(gè)則是window
this的指向在函數(shù)定義的時(shí)候是確定不了的,只有函數(shù)執(zhí)行的時(shí)候才能確定this到底指向誰(shuí),實(shí)際上this的最終指向的是那個(gè)調(diào)用它的對(duì)象
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對(duì)象,所以this指向person;
sayTwo的調(diào)用者雖然也是person對(duì)象,但是區(qū)別在于這次調(diào)用并沒(méi)有打出this而是在全局返回了一個(gè)匿名函數(shù)
而這個(gè)匿名函數(shù)不是作為某個(gè)對(duì)象的方法來(lái)調(diào)用執(zhí)行,是在全局執(zhí)行
3.我們也可以更改this指向,這里應(yīng)用JS高級(jí)編程的案例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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/110231.html
摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢閉包內(nèi)部的指向是,為什么指向了呢下面通過(guò)函數(shù)調(diào)用模式和部分案例分析了為什么確實(shí)如此函數(shù)調(diào)用的模式方法調(diào)用模式和函數(shù)調(diào)用模式如果一個(gè)函數(shù)被設(shè)置為一個(gè)對(duì)象的屬性,則稱它為一個(gè)方法 網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?閉包內(nèi)部this的指向是window,為什么指向了window呢?下面通過(guò)js...
摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢閉包內(nèi)部的指向是,為什么指向了呢下面通過(guò)函數(shù)調(diào)用模式和部分案例分析了為什么確實(shí)如此函數(shù)調(diào)用的模式方法調(diào)用模式和函數(shù)調(diào)用模式如果一個(gè)函數(shù)被設(shè)置為一個(gè)對(duì)象的屬性,則稱它為一個(gè)方法 網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?閉包內(nèi)部this的指向是window,為什么指向了window呢?下面通過(guò)js...
摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢閉包內(nèi)部的指向是,為什么指向了呢下面通過(guò)函數(shù)調(diào)用模式和部分案例分析了為什么確實(shí)如此函數(shù)調(diào)用的模式方法調(diào)用模式和函數(shù)調(diào)用模式如果一個(gè)函數(shù)被設(shè)置為一個(gè)對(duì)象的屬性,則稱它為一個(gè)方法 網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?閉包內(nèi)部this的指向是window,為什么指向了window呢?下面通過(guò)js...
摘要:網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢的指向在函數(shù)定義的時(shí)候是確定不了的,只有函數(shù)執(zhí)行的時(shí)候才能確定到底指向誰(shuí),實(shí)際上的最終指向的是那個(gè)調(diào)用它的對(duì)象案例中,第一個(gè)打出來(lái)的是,而第二個(gè)則是原因函數(shù)內(nèi)部的指向調(diào)用者調(diào) 網(wǎng)上看到一句話,匿名函數(shù)的執(zhí)行是具有全局性的,那怎么具有的全局性呢?this的指向在函數(shù)定義的時(shí)候是確定不了的,只有函數(shù)執(zhí)行的時(shí)候才能確定this...
閱讀 3061·2021-11-23 09:51
閱讀 1040·2021-09-02 15:21
閱讀 3005·2019-08-30 13:56
閱讀 1829·2019-08-29 14:12
閱讀 708·2019-08-29 13:53
閱讀 1664·2019-08-29 11:32
閱讀 1325·2019-08-29 11:25
閱讀 1493·2019-08-28 17:51