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...