js中this指向的三種情況

2022-02-21 11:33:02 字數 575 閱讀 8637

js中this指向的幾種情況

一、全域性作用域或者普通函式自執行中this指向全域性物件window,普通函式的自執行會進行預編譯,然後預編譯this的指向是window

//全域性作用域

console.log(this);//window

//普通函式

function fn()

fn(); //函式加括號呼叫叫函式自執行,函式自執行時,內部的this指向頂層物件/window

二、事件函式內部的this指向事件源:注意在事件函式中如果包含普通函式,普通函式自執行後,內部this還是指向window

//事件函式內部的this指向事件源

document.body.onclick = function()

fn(); //函式加括號呼叫叫函式自執行,函式自執行時,內部的this指向頂層物件/window

};三、物件方法呼叫時,this指向呼叫的物件

let obj = ,

lacy :

}};

obj.fn(); //obj

obj.dudu.fn(); //lacy

原文:

JS中的this指向情況

在js中this指向分很多種情況 最常見的 四大類 newfunction foo name,age var aa newfoo 張三 18 此時new建構函式指向的是例項化出來的物件事件函式class wraper div class btn button var divs document.ge...

js閉包中this的指向問題及三種解決方法

下面是乙個問題,物件方法中定義的子函式,子函式執行時this指向 三個問題 1 以下 中列印的this是個什麼物件?2 這段 能否實現使mynumber.value加1的功能?3 在不放棄helper函式的前提下,有哪些修改方法可以實現正確的功能?var mynumber helper i mynu...

js中const,var,let三種區別

js中三種定義變數的方式const,var,let的不同之處 1.const定義的變數不可以修改,而且必須初始化。1 const b 4 正確 2 const b 錯誤,必須初始化 3 console.log 函式外const定義b b 有輸出值 4 b 5 5 console.log 函式外修改c...