1 js中的bind的作用是为函数绑定对象,就是将函数赋予给该对象。
如:var first_obj={
num:24
};
var sencod_obj={
num:42
};
function chengfa(count){
return this.num*count;
}
var first_chengfa=chengfa.bind(first_obj);//为chegnfa绑定对象(first_obj),并返回和该函数一样的函数。
alert(first_chengfa(10));
var sencod_chengfa=chengfa.bind(sencod_obj);
alert(sencod_chengfa(10));
综述,bind是为函数绑定对象,语法:函数名.bind(类对象)。为函数绑定对象,因为该函数中有this。需要有类对象才能使用。
apply是让类对象执行类方法,语法:函数名.apply(类对象,参数)。执行该类对象的这个函数,参数为第二个参数。
bind和apply中的区别,bind方法的函数不是属于类对象所拥有的。apply方法的函数是属于类对象所拥有的。
例如:chegnfa该方法不是first_obj所拥有的。
如果chengfa.apply(first_obj,arguments),就说明chengfa是first_obj所拥有的方法。
如:var first_obj={
num:24
};
var sencod_obj={
num:42
};
function chengfa(count){
return this.num*count;
}
var first_chengfa=chengfa.bind(first_obj);//为chegnfa绑定对象(first_obj),并返回和该函数一样的函数。
alert(first_chengfa(10));
var sencod_chengfa=chengfa.bind(sencod_obj);
alert(sencod_chengfa(10));
综述,bind是为函数绑定对象,语法:函数名.bind(类对象)。为函数绑定对象,因为该函数中有this。需要有类对象才能使用。
apply是让类对象执行类方法,语法:函数名.apply(类对象,参数)。执行该类对象的这个函数,参数为第二个参数。
bind和apply中的区别,bind方法的函数不是属于类对象所拥有的。apply方法的函数是属于类对象所拥有的。
例如:chegnfa该方法不是first_obj所拥有的。
如果chengfa.apply(first_obj,arguments),就说明chengfa是first_obj所拥有的方法。