03 JS函式的this指向

2022-09-29 15:57:26 字數 1394 閱讀 5005

1.函式在呼叫時,j**ascript會預設給this繫結乙個值;

2.this的繫結和定義的位置(編寫的位置)沒有關係;

3.this的繫結和呼叫方式以及呼叫的位置有關係;

4.this是在執行時被繫結的;

繫結一:預設繫結;

獨立函式呼叫。可以理解成函式沒有被繫結到某個物件上進行呼叫;

繫結二:隱式繫結;

通過某個物件進行呼叫的。

繫結三:顯示繫結;

bind顯示的繫結到乙個物件上

繫結四:new繫結;

1.建立乙個全新的物件;

2.這個新物件會被執行prototype連線;

3.這個新物件會繫結到函式呼叫的this上(this的繫結在這個步驟完成);

4.如果函式沒有返回其他物件,表示式會返回這個新物件;

1.預設規則的優先順序最低

2.顯示繫結優先順序高於隱式繫結

3.new繫結優先順序高於隱式繫結

4.new繫結優先順序高於bind

new繫結可以和bind一起使用,new繫結優先順序更高

箭頭函式並不繫結this物件,那麼this引用就會從上層作用於中找到對應的this

03JS基礎 作用域和閉包

考點 this的不同場景如何取值 手寫bind函式 閉包的實際開發場景,舉例說明。自由變數 二 閉包 三 this bind 閉包的應用 if true console.log a 報錯函式作為引數被傳遞。函式作為返回值。function create params let fn create co...

js函式中this的指向

本文是我個人對this指向的一些理解,如有不足之處,還望大家可以批評指正,在此先謝過了!首先,我們來回顧一下es5裡函式的幾種呼叫方式 1 直接呼叫 foo 2 方法呼叫 obj.foo 以上兩種呼叫方法,this的指向可以這樣去確定 函式的呼叫者就是this的指向!例如 obj.foo 裡.foo...

js函式中的this的指向

普通函式中的this是誰?window 物件.方法中的this是誰?當前的例項物件 定時器方法中的this是誰?window 建構函式中的this是誰?例項物件嚴格模式 use strict 嚴格模式 function f1 f1 普通函式 function f1 f1 定時器中的this seti...