了解Js中的this指向

2022-07-17 15:24:18 字數 1140 閱讀 6526

js中的

this物件是在執行時基於函式的執行環境繫結的,其中的

this指向很不好理解,一不小心就用錯了位置;

this的指向在函式定義的時候是確定不了的,

只有函式執行的時候才能確定this到底指向誰,

實際上this的最終指向的是那個

呼叫它的物件。

對於this指向的理解,

我分以下幾種情況來說,

this的指向

1、在全域性函式中,this等於window:
var name="

cyp"

;console.log(this);

2、

當函式被用作為某個物件的方法呼叫時,this等於哪個物件。

function show() 

show();

3、建構函式的時候,指向例項化物件。

function person(name) 

}var person1=new person("

cyp"

);

var person2=new person("

lcx"

); person2.showname();

4、不過匿名函式的執行環境具有全域性性,因此其this物件通常指向window。

function fun() 

fun()

5、事件中,this指向觸發這個事件的物件

//

html:

"button

" value="

點選" onclick="

fun()

">

//js:

document.queryselector(

"input

").onclick=function ()

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