call、apply、bind 区别
发布时间:2020-12-14 05:16:15 所属栏目:大数据 来源:网络整理
导读:1.为什么要用 call 、apply? 为了 改变方法里面的属性而不去改变原来的方法 function fruits() {} fruits.prototype = { color: "red",say: function() { console.log("My color is " + this.color); }} var apple = new fruits;apple.say(); //My color is
1.为什么要用 call 、apply? function fruits() {}
fruits.prototype = {
color: "red",say: function() {
console.log("My color is " + this.color);
}
}
var apple = new fruits;
apple.say(); //My color is red
banana = {
color: "yellow"
}
}
apple.say.call(banana); //My color is yellow
a
apple.say.apply(banana); //My color is yellow
2.call 与apply 区别 function log(){
var args = Array.prototype.slice.call(arguments);
args.unshift(‘(app)‘);
console.log.apply(console,args);
};
log("hello world"); //(app)hello world
? 3)? bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。 function show(sex){
console.log("普通函数"+sex);
}
var person={
name:"aa",age:14
};
show.call(person,"男");
show.apply(person,["女"]);
//对于bind来说,用法更加的灵活
show.bind(person,"不明")(
);
// var ss=show.bind(person,"不明");
// ss();
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |