Js的 this的理解

在學習JS中對於面向對象的知識,總是繞不開this這樣的 JS中的一個關鍵字。
先來一個例子,ali的一道筆試題==>
var foo = 1;
function test(){
alert(foo);
var foo = 2;
alert(this.foo);
this.foo = 3;
}
test();
new test();
那麼,結果是什麼呢?
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述這是我在google界面上獲得結果,從這幾段代碼可以看出this是函數運行時自動在其內部生成的一個對象,她所產生的效果之和調用函數有關係,即知在函數體內部使用。
其可以作爲“全局對象”,“當前對象”和“任意對象”,而不同對象作用的產生取決於函數調用的形式;js中函數的調用方式有–作爲對象方法調用,作爲函數調用,作爲構造函數調用,和使用 apply 或 call 調用:
1、存粹的函數調用,其只想全局函數,例如第二次出現結果爲 “1”;
2、作爲對象的方法使用,此時this指向上一級的對象;
3、作爲函數構造函數使用,這與面嚮對象語言的構造函數相似;
4、apply函數的使用需要注意。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章