相同點:
,一般來說,函式裡面的this指向的是window
eg:指令碼中:
let abj={
a:"1",
b:'2'
function find(){
console.log(this);
console.log(this.a);
find();=>輸出的this=>window
輸出的this.a=>空
find.call(obj);
兩個均輸出的this=>obj
this.a=>'1'
不同點
如果函式帶引數,甚至不止乙個
function add(c,d){
return this.a+this.b+c+d;
let objs={
a:1,
b:2add.call(obj,3,4);=>逗號隔開引數
輸出10
輸出10
apply 與call 的區別
function call 方法 function.call thisobj arg1 arg2 argn 它們各自的定義 call 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件...
apply 與call 的區別
function call 方法 function.call thisobj arg1 arg2 argn 它們各自的定義 call 呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件...
apply 與call 的區別
call 方法 function.call thisobj arg1 arg2 argn 它們各自的定義 call 呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件呼叫乙個方法,將乙...