js中this指向的規律

2021-09-29 08:25:10 字數 780 閱讀 1635

當前方法執行的主體是誰,this就是誰(誰執行的這個方法,this就是誰)

this和當前函式在那建立的,在那執行的都沒有關係

1,全域性作用域中的this是window

2,函式執行,this取決於誰呼叫了它,this就是誰(點前面是誰this就是誰),沒有點this是window

在js的嚴格模式下("use strict"),沒有點,是undefined

var obj=

} var f= obj.fn;

window.f();

window.alert();

obj.fn();

3,建構函式執行,方法中this是當前類的例項

function fn()

var f =new fn();

4,匿名函式和自執行函式的this都是window

var fn= function ()

fn();

5,給元素的某個事件繫結方法,方法中的this就是當前操作的元素本身

document.onclick=function()

如何改變this指向:

非嚴格模式下:第乙個引數不寫或者寫null,this是window

嚴格模式下:第一引數不寫,this是window

2, 使用箭頭函式,箭頭函式中沒有this,this是上下文(在那定義的)的this

3, 將this儲存為變數

var obj= , 1000);}}

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