javascript中apply、call和bind的用法区分_.docx

上传人:PIYPING 文档编号:11651620 上传时间:2021-08-28 格式:DOCX 页数:4 大小:12.28KB
返回 下载 相关 举报
javascript中apply、call和bind的用法区分_.docx_第1页
第1页 / 共4页
javascript中apply、call和bind的用法区分_.docx_第2页
第2页 / 共4页
javascript中apply、call和bind的用法区分_.docx_第3页
第3页 / 共4页
javascript中apply、call和bind的用法区分_.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《javascript中apply、call和bind的用法区分_.docx》由会员分享,可在线阅读,更多相关《javascript中apply、call和bind的用法区分_.docx(4页珍藏版)》请在三一文库上搜索。

1、javascript中apply、call和bind的用法区分_ 在JS中,这三者都是用来转变函数的this对象的指向的,他们有什么样的区分呢。 在说区分之前还是先总结一下三者的相像之处: 1、都是用来转变函数的this对象的指向的。 2、第一个参数都是this要指向的对象。 3、都可以利用后续参数传参。 那么他们的区分在哪里的,先看一个例子。 var xw = name : 小王, gender : 男, age : 24, say : function() alert(this.name + , + this.gender + ,今年 + this.age); var xh = name

2、: 小红, gender : 女, age : 18 xw.say(); 本身没什么好说的,显示的确定是小王 , 男 , 今年24。 那么如何用xw的say方法来显示xh的数据呢。 对于call可以这样: 1.xw.say.call(xh); 对于apply可以这样: 1.xw.say.apply(xh); 而对于bind来说需要这样: 1.xw.say.bind(xh)(); 假如挺直写xw.say.bind(xh)是不会有任何结果的,看到区分了吗?call和apply都是对函数的挺直调用,而bind方法返回的仍旧是一个函数,因此后面还需要()来进行调用才可以。 那么call和apply有什

3、么区分呢?我们把例子略微改写一下。 var xw = name : 小王, gender : 男, age : 24, say : function(school,grade) alert(this.name + , + this.gender + ,今年 + this.age + ,在 + school + 上 + grade); var xh = name : 小红, gender : 女, age : 18 可以看到say方法多了两个参数,我们通过call/apply的参数进行传参。 对于call来说是这样的 1.xw.say.call(xh,试验学校,六班级); 而对于apply来说是

4、这样的 1.xw.say.apply(xh,试验学校,六班级); 看到区分了吗,call后面的参数与say方法中是一一对应的,而apply的其次个参数是一个数组,数组中的元素是和say方法中一一对应的,这就是两者最大的区分。 那么bind怎么传参呢?它可以像call那样传参。 1.xw.say.bind(xh,试验学校,六班级)(); 但是由于bind返回的仍旧是一个函数,所以我们还可以在调用的时候再进行传参。 1.xw.say.bind(xh)(试验学校,六班级); 以上这篇javascript中apply、call和bind的用法区分就是我分享给大家的全部内容了,盼望能给大家一个参考 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1