javascript中apply()和call()方法的作用-创新互联

这篇文章将为大家详细讲解有关javascript中apply() 和 call() 方法的作用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联成立与2013年,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元麦积做网站,已为上家服务,为麦积各地企业和个人服务,联系电话:028-86922220

每个函数都包含两个非继承而来的方法:apply()和call()。;
call与apply都属于Function.prototype的一个方法,所以每个function实例都有call、apply属性;
作用

call()方法和apply()方法的作用相同:改变this指向。

区别

他们的区别在于接收参数的方式不同:
call():第一个参数是this值没有变化,变化的是其余参数都直接传递给函数。在使用call()        
方法时,传递给函数的参数必须逐个列举出来。例:call(obj,a,b,c)
apply():传递给函数的是参数数组。 例:apply(obj,[a,b,c])

上代码:

function add(c, d){ 
    return this.a + this.b + c + d; 
} 
var o = {a:1, b:3}; 
add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16  this指向o 
add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34  this指向o

关于javascript中apply() 和 call() 方法的作用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


本文标题:javascript中apply()和call()方法的作用-创新互联
转载来于:http://hbruida.cn/article/cddhho.html