js中this的指向

2022-09-06 01:21:07 字數 1020 閱讀 6429

fucntion 誰呼叫的就指向誰

//被上級呼叫,上級為window

function a()

a();

//被上級呼叫,上級為window

function a()

window.a();

//被上級呼叫,上級有user

var o =

}o.fn();

// 只尋找上一級,上級為o

var o =

}window.o.fn();

// 只尋找上一級,上級為b

var o =

}}o.b.fn();

情況3:如果乙個函式中有this,這個函式中包含多個物件,儘管這個函式是被最外層的物件所呼叫,this指向的也只是它上一級的物件,例子3可以證明,如果不相信,那麼接下來我們繼續看幾個例子。

//上級為b,呼叫時b中沒有a

var o =

}}o.b.fn();

//賦值時沒有呼叫,this為window

var o =

}}var j = o.b.fn;

j();

情況4:建構函式版this:函式fn裡面的user是因為new關鍵字可以改變this的指向,將這個this指向物件a

function fn()

var a = new fn();

console.log(a.user); //追夢子

情況5:當this碰到return時:如果返回值是乙個物件,那麼this指向的就是那個返回的物件,如果返回值不是乙個物件那麼this還是指向函式的例項

function fn()  

; }

var a = new fn;

console.log(a.user); //undefined

function fn()

var a = new fn;

console.log(a); //fn

js中this的指向

lang en charset utf 8 深入理解thistitle head 它代表函式執行時,自動生成的乙個內部物件,只能在函式內部使用。隨著函式使用場合的不同,this的值會發生變化。但是有乙個總的原則,那就是this指的是,呼叫函式的那個物件。demo1 function demo1 呼叫...

js中this的指向

this的指向在函式定義的時候是確定不了的,只有函式執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個呼叫它的物件 functiona a 按照我們上面說的this最終指向的是呼叫它的物件,這裡的函式a實際是被window物件所點出來的,下面的 就可以證明。var o o.fn ...

js中的this指向

首先必須要說的是,this的指向在函式定義的時候是確定不了的,只有函式執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個呼叫它的物件 這句話有些問題,後面會解釋為什麼會有問題,雖然網上大部分的文章都是這樣說的,雖然在很多情況下那樣去理解不會出什麼問題,但是實際上那樣理解是不準確的...