电话()与()在JavaScript中应用的功能是什么

  介绍

这篇文章给大家介绍叫()与()在JavaScript中应用的功能是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强> 1.调用()和()的应用作用

首先引出问题:用电话()和()应用的目的是什么?

来看个例子,在JavaScript OOP中,我们经常会这样定义:

function 猫(){   }   cat.prototype={   食物:“fish"才能,   ,,说:函数(){   ,,,警报(“小姐:love “+ this.food);   ,,}   }   var  blackCat =, new 猫;   blackCat.say ();

但是如果我们有一个对象<代码> whiteDog={食物:“bone"}> blackCat.say.call (whiteDog);

所以,可以看出调用和应用是为了动态改变这而出现的,当一个对象没有某个方法,但是其他的有,我们可以借助电话或应用用其它对象的方法来操作。

在实际中用的比较多的是,通过<代码>文档。getElementsByTagName 选择的dom节点是一种类似数组的对象。它不能应用数组下的推动,流行等方法。我们可以通过:

var  domNodes =, Array.prototype.slice.call (document.getElementsByTagName (“*”)),

这样domnode就可以应用数组下的所有方法了。

<强> 2.调用()和()应用的区别

首先申请的定义如下:

<李>

应用方法能劫持另外一个对象的方法,继承另外一个对象的属性

<李>

这个类(obj, args)方法能接收两个参数,第一个参数是在其中运行函数的作用域,另一个是参数数组,其中,第二个参数可以是数组,也可以是参数对象

<李>

obj:这个对象将代替函数类里这对象

<李>

参数:这个是数组,它将作为参数传给函数(参数→参数)

<代码> apply() 的用法

//定义一个人类   function 人(姓名、年龄){   this.name 才能=,名称;   时间=this.age 才能;年龄;   }//定义一个学生类   function 学生(姓名、年龄、年级){   Person.apply才能(这个论点);//传入参数对象//Person.apply才能(这一点,[num1, num2]);//传入数组   时间=this.grade 才能;等级;   }//创建一个学生类   var  student =, new 学生(& # 39;一个# 39;& # 39;10 & # 39;,& # 39;一年级& # 39;);//测试   console.log(& # 39;名称:& # 39;+ student.name + & # 39;年龄:& # 39;+ student.age + & # 39;评级:& # 39;+ student.grade);

学生类里没有给姓名和年龄属性赋值啊,为什么又存在这两个属性的值呢,这个就是应用的神奇之处。

分析:<代码> Person.apply(这个论点);

<李>

:代表的是学生,表示将人中这个指的向学生。

<李>

参数:是一个数组,在例子中表示['一个# 39;& # 39;10 & # 39;,& # 39;一年级& # 39;];

通俗一点讲就是:用学生去执行人这个类里面的内容,在人这个类里面存在<代码> this.name>

<代码> apply() 和<代码>调用()的作用是一样的,他们的区别仅在于接收参数的方式不同,<代码>调用()需要把参数一个个列出来。

<强>调用()的用法

在学生函数里面可以将应用中修改成如下:

Person.call(姓名,年龄);

<强> 3。什么情况下用申请(),什么情况下用电话()

至于是使用<代码> apply() 还是<代码>调用(),取决于采取那种给函数传递参数的方式最方便。

如果打算直接传入参数对象,或者是数组,并且参数列表相同则使用<代码> apply()> 调用()可能更合适。

例:应用示例里面传递了参数参数,并且在调用个人的时候参数的列表是对应一致的,也就是人和学生的参数列表前两位是一致的,就可以采用适用。

如果我的人的参数列表是这样的(年龄、名称)而学生的参数列表是(姓名、年龄、品位),这样的就可以用电话来实现了<代码> Person.call(年龄,这名字,等级);

关于调用()与()在JavaScript中应用的功能是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

电话()与()在JavaScript中应用的功能是什么