解析器在呼叫函式每次都會向函式內部傳遞進乙個隱含的引數
這個隱含的引數就是this,this指向的是乙個物件
這個物件我們稱為函式執行的上下文物件
根據函式的呼叫方式不同,this會指向不同的物件
一般情況下
判斷方法(待補充)
1,以函式的形式呼叫時,this永遠都是window
2,以方法的形式呼叫時,this就是呼叫方法的那個物件(誰呼叫this,this就是誰)
3,看函式執行的時候前面有沒有點,有點,點前面是啥this就是啥,沒點就是window
4,給元素的某乙個事件繫結乙個方法如(button.onclick = fn()),當事件觸發執行方法,
方法中的this就是當前元素(button)
function
fun(a,b)
fun(
123,
456)
var person =
} person.
show
()
function
show()
show()
//obj window
window.
show()
//obj window
window.
onload
=function()
}"btn"
>button<
/button>
判斷this指向
如何正確判斷this function foo var a 1 1 foo 1 const obj 2obj.foo 2 3const c newfoo undefined 解析 直接呼叫函式foo 不管函式被放在了什麼地方,this指向都是window 對於obj.foo 誰呼叫了函式,誰就是th...
如何判斷THIS指向?
什麼是this?this是用來做什麼的?這是首先我們必須知道的 this它是js的乙個關鍵字,用來指向某乙個物件 如何判斷this指向?函式 方法 內 一種以函式的方式呼叫 不帶.this指向window 一種以方法的形式呼叫 函式名前面帶.this指向點前面的 函式 方法 外,this指向wind...
如何判斷this指向?
什麼是this?this是用來做什麼的?這是首先我們必須知道的 this它是js的乙個關鍵字,用來指向某乙個物件 如何判斷this指向?函式 方法 內 一種以函式的方式呼叫 不帶.this指向window 一種以方法的形式呼叫 函式名前面帶.this指向點前面的 函式 方法 外,this指向wind...