前端性能優(yōu)化有哪些方法 js面向?qū)ο笾衪his關(guān)鍵字在哪些情況指針會改變?
js面向?qū)ο笾衪his關(guān)鍵字在哪些情況指針會改變?你應(yīng)該讀一下湯姆叔叔的分析??赐曛?,我對這一點也有了困惑的理解。后來,我參考了一些其他材料??荚嚱Y(jié)束后,我對它進行了總結(jié)和測試。我覺得這個指針沒那么
js面向?qū)ο笾衪his關(guān)鍵字在哪些情況指針會改變?
你應(yīng)該讀一下湯姆叔叔的分析??赐曛?,我對這一點也有了困惑的理解。后來,我參考了一些其他材料??荚嚱Y(jié)束后,我對它進行了總結(jié)和測試。我覺得這個指針沒那么復(fù)雜。記住一個相對簡單的理解,在全局上下文中,這是指窗口。在函數(shù)范圍中,這是指如何調(diào)用它。在嚴(yán)格模式下,這在全局環(huán)境中指向未定義。另外,call和apply會影響這個方向。bind方法中的這個值被綁定到第一個參數(shù)。構(gòu)造函數(shù)中的這一點指向構(gòu)造函數(shù)本身。在new中,它指向?qū)嵗膶ο?。在DOM事件中,這通常指向觸發(fā)的DOM。
js使用call的調(diào)用和直接調(diào)用函數(shù)的區(qū)別?
如果函數(shù)中有此項,它將指向第頁。如果直接調(diào)用,函數(shù)中的這個將指向window對象。在陣列模式下輸入?yún)?shù)與按順序輸入?yún)?shù)之間也存在差異。其他的完全一樣。我能想到的另一個區(qū)別是便于調(diào)試。在chrome調(diào)試器出現(xiàn)之前,很多調(diào)試都是通過alert進行的。如果一個函數(shù)被多個節(jié)點調(diào)用,比如事件的順序傳輸,那么警報和控制臺都無法知道函數(shù)中的確切調(diào)用方。使用call和apply,您可以通過它了解調(diào)用者。當(dāng)然,現(xiàn)在可以一步一步地調(diào)試斷點了,這個函數(shù)已經(jīng)不重要了。