改變JS中的this指向的方法

2021-09-29 12:23:55 字數 1050 閱讀 2997

1.全域性呼叫 函式名( ) 指向 window

2.物件呼叫 物件.函式名( ) 誰呼叫指向誰 (.前面是誰就指向誰)

3.自執行的函式 指向window

4.事件處理函式 指向事件源

5.定時器處理函式 指向事件源

6.函式定義了未呼叫的時候指向不確定

call( )

語法:

函式名.call(你要改變的函式的 this 指向, 第二個引數開始,依次是給函式傳遞的引數)

會直接把函式給呼叫

第乙個引數如果不寫或者寫乙個 null,表示 window

let a =10;

function

fn(b)

fn.call

(a,"gg");

//number 直接呼叫

語法:

陣列裡面每一項依次是給函式傳遞引數)

會直接把函式給呼叫

let a =10;

function

fn(b,c)

fn.(a,[

"bb"

,"cc"])

;//number 直接呼叫

bind()

語法:函式名.bind(你要改變的函式的 this 指向)

不會立即執行函式

返回值: 就是乙個函式(只不過是乙個被改變好了 this 指向的函式)

他對函式的引數傳遞有兩個方式

1. 呼叫返回的函式的時候傳遞

2. 直接從第二個引數開始依次傳遞

let a =10;

function

fn(b,c)

var fn1=fn.

bind

(a,"bb"

,"cc");

//返回的是改好指向的函式 並沒有呼叫fn(

);// window 原來函式的指向是不會改變的

fn1();

//number

js改變this指向的方法

語法 函式.call this,arg1,arg2,arg3,arg4 第乙個引數用來指定函式內部的this指向,後面的引數是函式執行時所需的實參。window.color red document.color yellow var s1 function changecolor changecol...

js中的this指向和改變this指向的方法

徹底理解js中this的指向,不必硬背。首先必須要說的是,this的指向在函式定義的時候是確定不了的,只有函式執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個呼叫它的物件 這句話有些問題,後面會解釋為什麼會有問題,雖然網上大部分的文章都是這樣說的,雖然在很多情況下那樣去理解不會...

js中改變函式內部this指向的方法

1 call 方法呼叫乙個物件。簡單理解為呼叫函式的方式,但是它可以改變函式的 this 指向 一般應用於繼承 var o function fn a,b fn 此時的this指向的是window fn.call o,1,2 此時的this指向的是物件o,引數使用逗號隔開 經常用域陣列中 var o...