JS 函式中this的指向問題

2021-10-20 16:22:30 字數 436 閱讀 5611

解析器在呼叫函式每次都會向函式內部傳遞進乙個隱含的引數。

這個隱含的引數就是this,this指向的是乙個物件。

這個物件我們稱為函式執行的上下文物件,根據函式的呼叫方式不同,this會指向不同的物件。

以函式的形式呼叫時,this永遠都是window。fn()

以方法的形式呼叫時,this就是呼叫方法的那個物件。obj.sayname()

// 舉例1:

function fn()fn(

); // 輸出window 此時的this指向的物件就是window

// 舉例2:

var obj =

function fn()

obj.sayname()

; // 輸出女團 此時this指向的物件是obj

js函式中this的指向

本文是我個人對this指向的一些理解,如有不足之處,還望大家可以批評指正,在此先謝過了!首先,我們來回顧一下es5裡函式的幾種呼叫方式 1 直接呼叫 foo 2 方法呼叫 obj.foo 以上兩種呼叫方法,this的指向可以這樣去確定 函式的呼叫者就是this的指向!例如 obj.foo 裡.foo...

JS中this指向問題

解析器在呼叫函式時,每次都會向函式內部傳遞進乙個隱含的引數,這個隱含的引數就是this,this指向的是乙個物件,這個物件我們稱之為函式執行的上下文物件,根據函式的呼叫方式不同,this會指向不同的物件.簡單來說一下函式中this指向問題,1.this是什麼?任何函式本質上都是通過某個物件來呼叫的,...

JS中this指向問題

函式內部的this之和函式的呼叫方式有關,和函式的定義方式沒有關係functionfn fn windowvar obj obj.fn obj functionfn 或者可以這樣寫自呼叫函式 functionfn div document.queryselector div div.onclick ...