网站建设资讯

NEWS

网站建设资讯

JavaScript中call和apply的相同点和不同点

这篇文章主要讲解了“JavaScript中call和apply的相同点和不同点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中call和apply的相同点和不同点”吧!

创新互联建站是一家专注于成都做网站、网站设计与策划设计,隆阳网站建设哪家好?创新互联建站做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:隆阳等地区。隆阳做网站价格咨询:13518219792

1、相同点:

a) 产生的效果或作用完全相同;

b) 至少有一个参数;

c) ***个参数必须有且是一个对象(Object),因为就是这个家伙偷懒。

2、不同点: 传递参数的方式。

前提:

1、有两个对象: A和B;

2、B有一个方法(这里用Function代替);

3、B的方法(Function)有两种参数传递的方式,但该方法产生的结果一样。

一种是除***个参数外,其余的参数都打包进一个数组内,即B.Function.apply(A,args);

另一种是所有的参数都以各自的形式单独存在(包括***个参数),即B.Function.call(A,arg,arg,......);

4、A想拥有和B同样的方法,但不想自己单***建,即只想借用别人现成的东西(好赖皮‍)。

具体说明:

1、B.Function.call(A,arg,arg),这个例子是讲A对象“调用”B对象的Function(某个具体的方法)。

注意call方法中的参数arg:

a) arg的个数为零或多个;

b) arg可以是任何类型,包括Array(本人没有试过)。

call在这里译为“调用”,在JS中可以理解为“A对象调用B对象的某个方法”;

2、B.Function.apply(A,args),这个例子是讲A对象“应用”B对象的Function(某个具体的方法)。

注意call方法中的参数args:

a) args是Array对象的一个实例,也就是一个数组;

b) args的个数为零(就是说不起作用)或1个;(是否可以有多个,需要确认)。

apply在这里译为“应用”,即“A对象应用B对象的某个方法”。

感谢各位的阅读,以上就是“JavaScript中call和apply的相同点和不同点”的内容了,经过本文的学习后,相信大家对JavaScript中call和apply的相同点和不同点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


分享文章:JavaScript中call和apply的相同点和不同点
标题网址:http://cdweb.net/article/pgecgc.html