应用与调用方法的定义及应用与调用方法的区别
如果没有接触动态语言,编译语言的思维模式对javascript的理解就会有一种神奇而奇怪的感觉,因为意识往往是不可能发生的事情,即使javascript在学校。不会听这个自由多变的语言在这种情感的过程中所遇到的原因,然后从现在-首先,请放下你的偏见,因为这对你绝对是一个新大陆,不给你唠嗑,得到它,给我们的有关定义和调用的应用方法。具体内容如下:
1、方法定义
电话,一种将属于Function.prototype,它是Javascript引擎的内部实现,因为属于Function.prototype,所以每个函数对象实例,其中每个方法调用,应用性能。作为方法的属性,它们的使用当然是针对这两种方法的。这种方法很容易混淆,因为它们的工作方式相同,只是使用不同的方式。
呼叫的方法:
语法:电话(thisobj { { { {,arg1,arg2,{,argn }}}}}。)
定义:调用对象并用另一个对象替换当前对象的一种方法。
解释uff1a
调用方法可以用来代替另一个对象调用方法时,调用的方法可以改变一个函数对象上下文从初始上下文的thisobj指定新的对象。
如果没有提供thisobj参数,则全局对象作为thisobj。
申请方法:
语法:申请({ thisobj argarray } {,})
定义:应用一个对象并用另一个对象替换当前对象的一种方法。
解释uff1a
如果argarray不是有效的阵列或争论的对象,然后将引发TypeError。
如果对argarray和thisobj参数没有设置,那么全球目标将作为thisobj不能传递任何参数
调用,应用的作用是调用别人的方式,就像它调用自己一样。
他们的区别是:
适用:最多只有两个参数-新的对象和数组argarray。如果一个参数传递给方法的参数写入数组,当然,即使是只有一个参数,它应该写入数组。如果argarray不是有效的数组或一个参数对象,然后TypeError将引起。如果对argarray和thisobj参数没有设置,那么全球目标将作为thisobj不能传递任何参数。
电话:这是一个直接的参数列表,这是用来保持目前这种实例指针一致当JS对象互相调用,或在特殊情况下,this指针的变化。如果没有提供thisobj参数,则全局对象作为thisobj。
在一个更简单的方法,应用和调用函数一样传入的参数列表的形式不同:func.call(var1,var2,func1,var3)对应的应用。
Func.apply(func1,{ var1,var2,var3 })
如:
add.apply(子,{三});
/ / add.call(子,3,1);
var = {
N:1,
M:2,
添加:函数(){
返回这个;
}
}
var:3,m:4
}
console.log(a.add.call(B)); / /学+面包机= 7
函数动物(){
this.name =动物;
this.showname =函数(){
警报(这个名字);
}
}
函数猫(){
this.name =猫;
}
动物=新动物();
新的猫();
通过电话或申请/ showName方法,原本属于对象(动物)的方法对猫对象使用。
猫输入/输出的结果
animal.showname.call(猫,
Animal.showName.apply(猫,{ });
以上是应用和调用方法的定义以及应用和调用方法之间的区别。希望你能喜欢。