js中 bind 和 call 用法講解

2022-03-05 02:33:37 字數 716 閱讀 5583

var option =

}

這裡又乙個option物件,it()方法裡的this指的就是option物件的上下文。

console.log(option.it());

直接輸出option.it()可以列印出8,option物件作為全域性變數可以直接呼叫;

那我如果只想用option裡的it()方法呢,如這樣:

var option =

}var option2 =

var nb = option.it.call(this.option);//

call裡的this>wiondow物件

var nb2 =option.it.call(option2);

console.log(nb);//8

console.log(nb2);//

7 console.log(option.it());//

8

nb2這個物件,將option裡的this指向了option2,所以this.ti相當於option2.ti;

bind和call用法差不多,call返回的是物件,bind返回的是乙個函式。如果var bn2 = option.ti.bind(option2);那麼在呼叫的時候就要

console.log(nb2())
console.log(nb2())

js 中的apply和call和bind的用法

function.call obj,param1 param2 paramn obj 這個物件將代替function類裡this物件 params 這個是乙個引數列表 bind 和call的用法以及引數列表極為相識 function.call obj,param1 param2 paramn obj...

js中call和apply用法

1 方法定義 call方法 語法 call thisobj arg1 arg2 argn 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。如果沒...

JS中Apply和Call的用法

1 函式層面 obj.call obj1,argument1,argument2,這兩個函式都是使用obj物件來替換obj1來執行對應的函式 這個可用於物件的繼承 例如 function add a,b function sub a,b add.call sub,a,b 使用add函式來替代sub進...