摘要:簡單的指向全局函數中的指向在一個函數上下文中,由調用者提供,由調用函數的方式來決定。如果函數獨立調用,那么該函數內部的,則指向。但是在非嚴格模式中,當指向時,它會被自動指向全局對象。
原文全文傳送門
我寫這篇文章主要學習我不知道的獨立調用時this的指向
this的指向,是在函數被調用的時候確定的,也就是執行上下文被創建時確定的。
(1)簡單的指向全局
(2)函數中的this指向
在一個函數上下文中,this由調用者提供,由調用函數的方式來決定。如果函數獨立調用,那么該函數內部的this,則指向undefined。但是在非嚴格模式中,當this指向undefined時,它會被自動指向全局對象。
var a = 20; var obj = { a: 10, c: this.a + 20, fn: function () { return this.a; } } console.log(obj.c); //獨立調用 非嚴格模式指向全局 40 console.log(obj.fn()); //對象調用 指向對象 10
當obj在全局聲明時,無論obj.c在什么地方調用,這里的this都指向全局對象,而當obj在函數環境中聲明時,這個this指向undefined,在非嚴格模式下,會自動轉向全局對象。
var a = 20; var foo = { a: 10, getA: function () { return this.a; } } console.log(foo.getA()); //非獨立調用 10 var test = foo.getA; console.log(test()); //獨立調用 20
(3)用call或者apply顯式更改this
(4)構造函數new對象this
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88132.html
寫在最前:BFC看起來是個很陌生的概念但它卻時時發生在我們工作中,如何清除浮動影響?如何避免margin穿透問題?如何編寫兩欄自適應布局?都和BFC有這密不可分的關系,下面走進切圖妞的世界,分分鐘搞定BFC! 一、什么是BFC? BFC概念 塊格式化上下文(Block Formatting Context,BFC) 是Web頁面的可視化CSS渲染的一部分,是塊盒子的布局過程發生的區域,也是浮動元素...
寫在最前:BFC看起來是個很陌生的概念但它卻時時發生在我們工作中,如何清除浮動影響?如何避免margin穿透問題?如何編寫兩欄自適應布局?都和BFC有這密不可分的關系,下面走進切圖妞的世界,分分鐘搞定BFC! 一、什么是BFC? BFC概念 塊格式化上下文(Block Formatting Context,BFC) 是Web頁面的可視化CSS渲染的一部分,是塊盒子的布局過程發生的區域,也是浮動元素...
閱讀 3225·2021-11-08 13:21
閱讀 1202·2021-08-12 13:28
閱讀 1413·2019-08-30 14:23
閱讀 1935·2019-08-30 11:09
閱讀 850·2019-08-29 13:22
閱讀 2694·2019-08-29 13:12
閱讀 2557·2019-08-26 17:04
閱讀 2265·2019-08-26 13:22