JS中的this指向情況

2021-10-07 20:19:32 字數 1196 閱讀 5015

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