首先這三者都是用來改變this的指向;
call()
例項
function student(name,age,grade)第乙個引數是this要指向的物件,第二個引數是陣列;var student = new student('zhangsan','21','一年級');
alert('name:'+student.name+"\n"+"age:"+student.age+"\n"+"grade:"+student.grade);
例項
function person(name,age)1)math.max可以實現得到陣列中最大的一項function student(name,age,grade)
var student = new student('小紅','21','一年級');
alert('name:'+student.name+"\n"+"age:"+student.age+"\n"+"grade:"+student.grade);
例:math.max('1','2','3','4'); //4
var arr = ['1','2','3','4'];
2)array.protoype.push可以實現兩個陣列合併
vararr1=newarray("1"bind(),"2"
,"3");
vararr2=newarray("4"
,"5"
,"6");
functionfn(a, b, c)總結:varfn1 = fn.bind(null,
'dot');
fn1('a'
, 'b'
, 'c');
它們第乙個引數都是要繫結給this的值,bind和call從第二個引數開始接受的是引數列表;不同的是bind方法返回值勢函式一節bind接收引數列表的使用;
apply和call的用法
應用某一物件的乙個方法,用另乙個物件替換當前物件。引數 thisobj 可選項。將被用作當前物件的物件。argarray 可選項。將被傳遞給該函式的引數陣列。說明 如果 argarray 不是乙個有效的陣列或者不是arguments物件,那麼將導致乙個 typeerror。如果沒有提供 argarr...
call 和apply 的區別
call方法 語法 call thisobj,object 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件 說明 call方法可以用來代替另乙個物件呼叫乙個方法。call方法可將乙個函式的物件上下文從初始的上下文改變為由thisobjext指定的新物件。如果沒有提供thisobj引數,那麼g...
call和apply的區別
1 方法定義 call方法 語法 call thisobj arg1 arg2 argn 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件。說明 call 方法可以用來代替另乙個物件呼叫乙個方法。call 方法可將乙個函式的物件上下文從初始的上下文改變為由 thisobj 指定的新物件。如果沒...