成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

this不懂之處的理解

xiaoxiaozi / 3375人閱讀

摘要:簡單的指向全局函數(shù)中的指向在一個函數(shù)上下文中,由調(diào)用者提供,由調(diào)用函數(shù)的方式來決定。如果函數(shù)獨立調(diào)用,那么該函數(shù)內(nèi)部的,則指向。但是在非嚴格模式中,當指向時,它會被自動指向全局對象。

原文全文傳送門

我寫這篇文章主要學習我不知道的獨立調(diào)用時this的指向

this的指向,是在函數(shù)被調(diào)用的時候確定的,也就是執(zhí)行上下文被創(chuàng)建時確定的。

(1)簡單的指向全局

(2)函數(shù)中的this指向

在一個函數(shù)上下文中,this由調(diào)用者提供,由調(diào)用函數(shù)的方式來決定。如果函數(shù)獨立調(diào)用,那么該函數(shù)內(nèi)部的this,則指向undefined。但是在非嚴格模式中,當this指向undefined時,它會被自動指向全局對象。

var a = 20;
var obj = {
    a: 10,
    c: this.a + 20,
    fn: function () {
        return this.a;
    }
}

console.log(obj.c); //獨立調(diào)用 非嚴格模式指向全局 40
console.log(obj.fn()); //對象調(diào)用 指向?qū)ο?10

當obj在全局聲明時,無論obj.c在什么地方調(diào)用,這里的this都指向全局對象,而當obj在函數(shù)環(huán)境中聲明時,這個this指向undefined,在非嚴格模式下,會自動轉(zhuǎn)向全局對象。

var a = 20;
var foo = {
    a: 10,
    getA: function () {
        return this.a;
    }
}
console.log(foo.getA()); //非獨立調(diào)用 10

var test = foo.getA;
console.log(test());  //獨立調(diào)用 20

(3)用call或者apply顯式更改this

(4)構(gòu)造函數(shù)new對象this

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/88132.html

相關文章

  • 前端必懂之熟悉又陌生的BFC

    寫在最前:BFC看起來是個很陌生的概念但它卻時時發(fā)生在我們工作中,如何清除浮動影響?如何避免margin穿透問題?如何編寫兩欄自適應布局?都和BFC有這密不可分的關系,下面走進切圖妞的世界,分分鐘搞定BFC! 一、什么是BFC? BFC概念 塊格式化上下文(Block Formatting Context,BFC) 是Web頁面的可視化CSS渲染的一部分,是塊盒子的布局過程發(fā)生的區(qū)域,也是浮動元素...

    Dongjie_Liu 評論0 收藏0
  • 前端必懂之熟悉又陌生的BFC

    寫在最前:BFC看起來是個很陌生的概念但它卻時時發(fā)生在我們工作中,如何清除浮動影響?如何避免margin穿透問題?如何編寫兩欄自適應布局?都和BFC有這密不可分的關系,下面走進切圖妞的世界,分分鐘搞定BFC! 一、什么是BFC? BFC概念 塊格式化上下文(Block Formatting Context,BFC) 是Web頁面的可視化CSS渲染的一部分,是塊盒子的布局過程發(fā)生的區(qū)域,也是浮動元素...

    philadelphia 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<