JS中this的指向問題

2021-09-29 12:28:03 字數 516 閱讀 8524

瀏覽器解析器在呼叫函式時,每次都會向函式內部傳遞乙個隱含的引數 this,this 指向的是乙個物件,該物件被稱之為函式執行的上下文。

函式在定義的時候 this 是不確定的,只有在呼叫的時候才可以確定;函式的呼叫方式不同,this 的指向也會不同。

直接以函式的形式呼叫函式時 this 指向 window

var uname =  'window物件'

function fun()

fun() // window物件

當函式作為乙個物件的方法時,被該物件所呼叫,那麼 this 指向的是該物件

var uname =  'window物件'

function fun()

var obj =

obj.thisname() //王蛋蛋

建構函式中的 this 其實是乙個隱式物件,類似乙個初始化的模型,所有方法和屬性都掛載到了這個隱式物件身上,後續通過 new 關鍵字來呼叫,從而實現例項化

JS中this指向問題

解析器在呼叫函式時,每次都會向函式內部傳遞進乙個隱含的引數,這個隱含的引數就是this,this指向的是乙個物件,這個物件我們稱之為函式執行的上下文物件,根據函式的呼叫方式不同,this會指向不同的物件.簡單來說一下函式中this指向問題,1.this是什麼?任何函式本質上都是通過某個物件來呼叫的,...

JS中this指向問題

函式內部的this之和函式的呼叫方式有關,和函式的定義方式沒有關係functionfn fn windowvar obj obj.fn obj functionfn 或者可以這樣寫自呼叫函式 functionfn div document.queryselector div div.onclick ...

JS中this指向問題

與其它語言相比,js的this關鍵字的指向稍微有點差別。一 全域性環境 首選我們要明確一點,在全域性環境中 在任意函式體外部 無論是嚴格模式還是非嚴格模式,this都指向window。下面,我們來通過幾個例子理解一下。示例1 console.log this 這裡的this在全域性域下,指向wind...