call、apply、bind 区别
2019-01-10 07:46:58来源:博客园 阅读 ()
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 区别
1)call 参数固定 apply 参数不固定 apply 参数是放在数组里面的
2)call 可以将伪数组转换为真正的数组
例如一个例子:
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();
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- JavaScript中的apply和call函数详解 2020-01-07
- 详解jQuery bind事件的操作方法 2019-11-03
- javascript call方法使用说明 2019-10-08
- vue.js(3)--v-bind与v-on 2019-08-14
- call,apply,bind的理解 2019-08-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash