您的位置:首页 > 移动开发

js中的call和apply方法

2017-01-06 10:39 155 查看
js中的函数对象有定义时上下文,运行时上下文,上下文是可以改变的 这些概念。

举个例子

function a(c){

alert(c)

alert(this.b)

}

d={b:'哈哈'}

//如果直接运行a();那么a函数是用window调用的,里面的this指window,window对象当然没有b属性了,但是下面的函数将a函数运行时的上下文替换成了d对象,也就是d对象调用a函数,那么this就指代d对象,后面是传入的参数。

a.call(d,‘嘿嘿’);

call和apply的唯一不同就在于,call是按照顺序进行传参,而apply要将参数封装成一个数组进行传参,所以当参数个数不定时,要用apply
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: