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