调用和应用都存在改变
函数运行的上下文上下文,以便改变函数体中的这个方向。因为Javascript函数定义上下文和运行时上下文,上下文是可以改变的概念。
回到
目录定义
Fun.apply(thisarg,{ argsarray })
fun.call(arg1,arg2,thisarg,…)
在thisarg可以为空或未定义,全局对象表示在这个时候,在MDN更
详细:申请(),叫()
这两个角色的
作用完全相同,但是接受
参数的方式并不相同:
Var func1 = function (arg1, arg2) {};
它可以被func1.call(arg1,arg2,),或func1.apply({ arg1,arg2,})。如果这是你想指定的上下文,它可以是任何Javascript对象(Javascript是一切),需要传递参数,并应用提出的参数数组中。
因为在Javascript中,函数的参数数不是固定的。当参数知道数字时,调用被调用,
应用程序在不确定时使用,然后将参数推送到数组中。当参数的数量不确定时,函数也可以通过参数数组遍历。
返回目录的一个示例
在Javascript OOP中,我们
经常定义这个:
函数的程序员(){
}
programmer.prototype = { {
爱好:'programming,
say.function(){
警惕(我爱+这个,业余爱好);
}
}
新程序员();
XiaoMing.say();
在这一点上,如果我们有一个设计的妹妹对象小华= {爱好:'designing},我们不想重新定义说的
方法,我们可以使用小明说通过电话或使用方法:xiaoMing.say.call(小华)。
可以看到调用和应用是为了动态地改变这个。当一个对象没有任何方法或
属性时,其他对象可以通过调用或应用其他对象来
操作。
obj.call(arg1,arg2,thisobj,…);
Obj.apply(thisobj,{ arg1,arg2,…});
两者结合的obj(这)来thisobj,当thisobj拥有(或继承)对象的属性和方法
选择通过document.getelementbytagname节点是一种阵列,它是比较常见的,可以不适用推方法的流行,等等,但我们可以通过数组:
无功domnodes = array.prototype.slice.call(document.getelementsbytagname(*)));
array.prototype.slice.call可以把所有的对象的长度属性分为数组,所以domnodes可以适用于所有的方法在阵列。
上述的应用和调用方法,本文透彻地了解了javascript(见)是小
分享你的所有内容,希望能给你一个
参考,希望你能
支持。