有在javascript兩件式的範圍名爲 功能範圍爲什麼「這個」函數的返回對象窗口內
現在我執行此代碼
function abc()
{
alert(this);
}
abc();
ABC呼叫 全球範圍內返回我[對象窗口] 爲什麼?函數使另一個範圍如此,爲什麼它代表窗口爲什麼它代表窗口
有在javascript兩件式的範圍名爲 功能範圍爲什麼「這個」函數的返回對象窗口內
現在我執行此代碼
function abc()
{
alert(this);
}
abc();
ABC呼叫 全球範圍內返回我[對象窗口] 爲什麼?函數使另一個範圍如此,爲什麼它代表窗口爲什麼它代表窗口
this
,在任何函數內部,將是函數被調用的對象。在你的情況下,你不是在任何對象上調用它。所以,默認this
是指global
對象,在您的瀏覽器中,它是window
對象。
但是在strict
模式下,如果你這樣調用它,this
將會是undefined
。
"use strict";
function abc() {
console.log(this); // undefined
}
abc();
或者
function abc() {
"use strict";
console.log(this); // undefined
}
abc();
的this
關鍵字是指功能所屬的對象,或在窗口對象,如果函數不屬於任何對象。
參考
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this
您的功能正在全球(窗口)對象。我的意思是,
function abc()
{
alert(this);
}
abc();
// or You can either call by
window.abc()
您可以在自定義對象
// Function under custom object
var customObj = {
abc : function() {
alert(this);
}
};
customObj.abc()
寫你的函數「這」爲什麼我的朋友http://stackoverflow.com/questions/2148451/help-this-is-confusing -ME-中的JavaScript –