手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Function.prototype.apply()与Function.prototype.call()小结
Function.prototype.apply()与Function.prototype.call()小结
摘要:老是忘掉这两个东东的用下,写下来做个记录吧。他们作用是一模一样的,只是传入的参数不一样applyapply接受两个参数,第一个制定了函数体内...

老是忘掉这两个东东的用下,写下来做个记录吧。

他们作用是一模一样的,只是传入的参数不一样

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();

【Function.prototype.apply()与Function.prototype.call()小结】相关文章:

获取阴历(农历)和当前日期的js代码

JS原型、原型链深入理解

些很实用且必用的小脚本代码

在JavaScript中使用NaN值的方法

jQuery实现鼠标经过图片变亮其他变暗效果

JS实现定时自动关闭DIV层提示框的方法

JavaScript中的lastIndexOf()方法使用详解

js实现鼠标移到链接文字弹出一个提示层的方法

JavaScript 正则表达式中global模式的特性

通过node-mysql搭建Windows+Node.js+MySQL环境的教程

精品推荐
分类导航