knrt.net
当前位置:首页 >> CAll和Apply的用法 >>

CAll和Apply的用法

JavaScript中有一个call和apply方法,其作用基本相同,但也有略微的区别。 其实就是更改对象的内部指针,即改变对象的this指向的内容。这在面向对象的js编程过程中有时是很有用的。 call函数和apply方法的第一个参数都是要传入给当前对象的对象...

1、方法定义 call, apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例,也就是每个方法都有call, apply属性.既然作为方法的属性,那它们的使用就当然是针对方法的了.这...

给楼主一个链接,看完绝对知道它们的用法: http://blog.csdn.net/qianzai5765638/article/details/6952321

js中的call和apply的确有一点复杂,下面请听我慢慢道来 先说apply用法, obj.apply(obj,args):传递两个参数,obj代替传入类中的this对象,args代替传入类中的参数(数组形式) obj.call(obj,arg1,arg2):和apply用法类似,只是后面的传值不同,...

call()与apply()区别 call方法: 语法:call(thisObj, Object) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thi..

相同点,都是改变this上下文。 不同点,传递参数call是一个一个传。apply是直接数组参数 func.call( this, param1, param2, ... ); func.apply( this, [ param1, param2, ... ] );

给你举个例子 定义数组a里有3个元素1,2,3,函数add()能向调用它的数组压入一个数,这个数是3个参数之和 add.call(a,1,2,3);和add.apply(a,b);的效果都是一样的,都是向数组a压入(1+2+3) 由此看出call和apply的区别是传入参数方式的区别, call的...

ECMAScript规范给所有函数都定义了Call()与apply()两个方法,call与apply的第一个参数都是需要调用的函数对象,在函数体内这个参数就是this的值,剩余的参数是需要传递给函数的值,call与apply的不同就是call传的值可以是任意的,而apply传的剩...

call和apply大概的用法差不多,简单的看下例子: [javascript] view plain copy function Obj(){this.value="对象!";} var value="global 变量"; function Fun1(){alert(this.value);} window.Fun1(); //global 变量 Fun1.call(window); //glob...

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com