国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS匿名函數內部this指向

hiYoHoo / 653人閱讀

摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定到底指向誰,實際上的最終指向的是那個調用它的對象案例中,第一個打出來的是,而第二個則是原因函數內部的指向調用者調

網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?
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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/55009.html

相關文章

  • 匿名函數以及閉包內部this指向函數調用模式的問題)

    摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢閉包內部的指向是,為什么指向了呢下面通過函數調用模式和部分案例分析了為什么確實如此函數調用的模式方法調用模式和函數調用模式如果一個函數被設置為一個對象的屬性,則稱它為一個方法 網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?閉包內部this的指向是window,為什么指向了window呢?下面通過js...

    yy736044583 評論0 收藏0
  • 匿名函數以及閉包內部this指向函數調用模式的問題)

    摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢閉包內部的指向是,為什么指向了呢下面通過函數調用模式和部分案例分析了為什么確實如此函數調用的模式方法調用模式和函數調用模式如果一個函數被設置為一個對象的屬性,則稱它為一個方法 網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?閉包內部this的指向是window,為什么指向了window呢?下面通過js...

    _Zhao 評論0 收藏0
  • 匿名函數以及閉包內部this指向函數調用模式的問題)

    摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢閉包內部的指向是,為什么指向了呢下面通過函數調用模式和部分案例分析了為什么確實如此函數調用的模式方法調用模式和函數調用模式如果一個函數被設置為一個對象的屬性,則稱它為一個方法 網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?閉包內部this的指向是window,為什么指向了window呢?下面通過js...

    remcarpediem 評論0 收藏0
  • JS匿名函數內部this指向

    摘要:網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定到底指向誰,實際上的最終指向的是那個調用它的對象案例中,第一個打出來的是,而第二個則是原因函數內部的指向調用者調 網上看到一句話,匿名函數的執行是具有全局性的,那怎么具有的全局性呢?this的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定this...

    Alan 評論0 收藏0

發表評論

0條評論

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