JS中的this指向

2021-09-27 10:45:09 字數 1154 閱讀 3757

js中的this指向誰?

誰呼叫了函式,this就指向誰!

舉例:通過函式名()直接呼叫,指向window

function

func()

func()

;//window

通過物件.函式名()呼叫,指向物件

function

func()

//自己定義的物件

var obj=

;obj.

func()

;//obj

//dom物件

document.

getelementbyid

('divnode').

onclick

=function()

箭頭函式的this只取決於外層(函式或全域性)的作用域 和前面的有所不同

function

test1()

}let a=2;

let obj=

;let runtest=obj.test;

runtest()

;//2 普通函式 誰呼叫this就指向誰

function

test2()

}let a=2;

let obj=

;let runtest=obj.test;

runtest()

;//3 箭頭函式 只取決於外層作用域

vue的生命週期鉤子方法(create,mount,update,destroy)裡面的this都指向呼叫它的vue例項

methods和data方法中的this也指向vue例項

settimeout中的this是指向window的!!!在vue**中使用這個方法時要注意

但是使用箭頭函式了 又會改變this指向

methods:

,1000);

settimeout

(function()

,1000);

}}

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的最終指向的是那個呼叫它的物件 這句話有些問題,後面會解釋為什麼會有問題,雖然網上大部分的文章都是這樣說的,雖然在很多情況下那樣去理解不會出什麼問題,但是實際上那樣理解是不準確的...