this的指向及改變this指向問題

2021-09-25 03:00:49 字數 583 閱讀 2429

this的指向問題

1,普通函式中的this是指向window(非嚴格模式)

2,普通函式中的this是指向undefined(嚴格模式)

//嚴格模式是es5提出的

function foo()

foo();

3,建構函式中的this是例項物件

4,原型方法中的this是例項物件(與建構函式中的this相同)

5,定時任務中函式的this是widow

6,物件方法中的this是呼叫方法的那個物件

7,箭頭函式中的this是定義函式的位置的this(父級函式的this)

8,事件函式中this指向事件物件

如何修改this的指向?三者的相同點:

1、都是用來改變函式的this物件的指向的。

2、第乙個引數都是this要指向的物件。

3、都可以利用後續引數傳參。

三者的區別

bind 不會呼叫函式,並且函式的this改變是持續的,後續在呼叫也是this指向改變後的this指向,bind的返回值是乙個函式,並且這個函式是this值改變後的

this指向及改變this指向的方法

一 函式的呼叫方式決定了 this 的指向不同,但總的原則,this指的是呼叫函式的那個物件 1.普通函式呼叫,此時 this 指向 全域性物件window function fn fn 此處預設省略window 2.在嚴格模式下 use strict 為undefined.function foo...

this指向 改變this指向

常見的this指向 常見的this指向 全域性下的this指向window 函式中的this,誰呼叫指向誰 建構函式中的this指向建構函式的物件 物件中的this預設指向當前物件 事件處理函式中this誰觸發指向誰 指向觸發事件的目標元素 定時器函式,this 指向 window 箭頭函式中沒有t...

this指向 改變this指向

function a a 此處相當於window.a 這僅是我個人的理解 在這個 中我們可以看出在 的結尾是由window來呼叫的函式a,那麼這個時候this指向window,this.user,全域性中沒有user,所以先定義了,但是沒有賦值,所以列印出undefined this指向練習二 va...