关于javascript中call与apply与bind的用法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于javascript中call与apply与bind的用法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1116字,纯文字阅读大概需要2分钟。
内容图文
![关于javascript中call与apply与bind的用法](/upload/InfoBanner/zyjiaocheng/592/7e2814c7d4834072bb9664cb32551df7.jpg)
首先,他们三者最终都是用于改变this的指向。
call与apply的主要作用是让对象能以方法的方式调用函数,有什么用呢?就是对象的方法里面的this指向的是该对象而函数中的this指向的是window,所以改变了this的指向,下面来一个简单的例子
// call与apply是改变this指向 是对象为了以方法的方式调用函数 this指向为括号内第一个参数对象
var name = "李白";
function info(age, sex) {
console.log(this.name + "--" + age + "--" + sex);
}
info(15, "男"); //输出李白--15 因为函数内的this指向window
var lisan = {
name: "李三",
};
info.call(lisan, 67, "女"); //输出李三--67 这时候函数指向lisan这个对象
info.apply(lisan, [67, "女"]); //输出李三--67 这时候函数指向lisan这个对象
info.bind(lisan, 67, "女")(); //输出李三--67 这时候函数指向lisan这个对象
call第一个参数后,是你要给方法传的参数,比如:f.call(object,1,2,3,4,5)
而apply只有两个参数第一个和call一样是对象参数,第二个是数组类型参数,是将你要给方法的参数组成一个数组传入进去,比如:f.apply(object,[1,2,3,4,5])
至于bind,是es5新加的方法,它的定义是,将函数绑定到对象上,这个方法将返回一个新的函数,它的用法和参数与call很像,区别就是他只是绑定没有调用,想要调用方法就要加一个括号,比如f.bind(object,1,2,3,4,5)()
内容总结
以上是互联网集市为您收集整理的关于javascript中call与apply与bind的用法全部内容,希望文章能够帮你解决关于javascript中call与apply与bind的用法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。