在js中this指向分很多種情況
最常見的 四大類
new
function
foo(name,age)
var aa =
newfoo
('張三',18
);//此時new建構函式指向的是例項化出來的物件
事件函式class
="wraper"
>
div>
class
="btn"
>
button
>
>
var divs = document.
getelementbyclassname
('wraper')[
0]divs.
onclick
=function()
script
>
function
foo(
)var obj =
var obj2 =
obj.objfoo.
call
(obj2)
;
其他情況這裡的其他情況 這裡只列舉一些
var a =0;
var name =
114514
var aaa =
(function()
)()//立即執行函式預設呼叫者都為windows ;
//所以這裡改變的是window下的a
var time =
settimeout
(function()
,500);
var obj =
}//這裡的箭頭函式比較特殊 箭頭函式一般來說是沒有this指向的 但是裡面可以用this指向 且指向他的上一層作用域
//其他的情況 基本上都可以理解為 誰呼叫指向誰 並且不看執行環境 例如
var a =
0function
arr(
)too()
;//主要原因在這裡 由於這裡的呼叫者為window 所以裡面的this指向window
}var obj =
obj.
objarr()
;//此時指向的就是window
js中this指向的三種情況
js中this指向的幾種情況 一 全域性作用域或者普通函式自執行中this指向全域性物件window,普通函式的自執行會進行預編譯,然後預編譯this的指向是window 全域性作用域 console.log this window 普通函式 function fn 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 ...