成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS匿名函數(shù)內(nèi)部this指向

hiYoHoo / 665人閱讀

摘要:網(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到底指向誰,實(shí)際上this的最終指向的是那個調(diào)用它的對象
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.原因

函數(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

相關(guān)文章

  • 匿名函數(shù)以及閉包內(nèi)部this指向函數(shù)調(diào)用模式的問題)

    摘要:網(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...

    yy736044583 評論0 收藏0
  • 匿名函數(shù)以及閉包內(nèi)部this指向函數(shù)調(diào)用模式的問題)

    摘要:網(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...

    _Zhao 評論0 收藏0
  • 匿名函數(shù)以及閉包內(nèi)部this指向函數(shù)調(diào)用模式的問題)

    摘要:網(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...

    remcarpediem 評論0 收藏0
  • JS匿名函數(shù)內(nèi)部this指向

    摘要:網(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...

    Alan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<