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進...