Function.prototype.apply()与Function.prototype.call()小结
发布时间:2016-11-25 11:36:51 所属栏目:Windows 来源:网络整理
导读:老是忘掉这两个东东的用下,写下来做个记录吧。 他们作用是一模一样的,只是传入的参数不一样 apply apply接受两个参数,第一个制定了函数体内this对象的指向,第二个参数为一个带下标的集合(可遍历对象),apply方法把这个集合中的元素作为参数传递给被
老是忘掉这两个东东的用下,写下来做个记录吧。 apply apply接受两个参数,第一个制定了函数体内this对象的指向,第二个参数为一个带下标的集合(可遍历对象),apply方法把这个集合中的元素作为参数传递给被调用的函数: var func = function(a, c, c){ alert([a,b,c]); //[1,2,3] } func.apply(null, [1,2,3]); call call传入的参数不固定,和apply相同的是,第一个参数也是代表函数体内的this指向,第二个参数开始往后,每个参数被依次传入函数: var func = function(a, b, c){ alert([a,b,c]); //[1,2,3] } func.call(null, 1,2,3); call是aplly的一颗语法糖。如果第一个参数为null,函数体内的this指向宿主对象,在浏览器中是window。 call和apply的用途 1.改变this指向 上面的例子就是啦 2.Function.prototype.bind 模拟Function.prototype.bind Function.prototype.bind = function(context){ var self = this; return function(){ return self.apply(context, arguments); } }; var obj = { name: 'cxs' }; var func = function(){ alert(this.name); //cxs }.bind(obj); fun(); (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows 8.1升级Windows 8.1 2014 Update图文教程 - Window
- 微软将在2022年带来 Windows星期三 直播节目
- Windows 10还原系统会删除文件吗?Windows 10系统还原运作方
- 微软Xperf使用手册 监控Windows功能新方案
- windows – 为什么我的一些客户在短时间内失去了HTTP连接?
- Windows 11承诺的支持安卓App终于升级了
- 即使使用正确的私钥,Windows密码也不会在AWS EC2上解密
- 详解Linux中的虚拟文件系统
- windows-server-2012 – Windows Server备份的磁盘空间管理
- 如何监控Linux服务器状态?