www.rspz.net > js ArrAy CAll

js ArrAy CAll

先来看看JS手册中对call的解释: call 方法 调用一个对象的一个方法,以另一个对象替换当前对象。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传递方法参数序...

概念: call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的。换句话说,就是为了改变函数体内部 this 的指向。 例如: 通过document.getElementsByTagName选择的dom 节点是一种类似array的array。它不能应用Array下的push,po...

使用call和apply方法,主要是为了修改函数运行时的this指针。 将你的代码修改下,就知道区别了: var each = function(array, fn){ for(var index in array){ // 这里使用 // fn(index, array[index]) 形式或 // fn.call(null, index, array[ind...

call(context,params...) 第一个是上下文,后面的是参数(枚举) apply(context,arr) 第一个是上下文,后面的是参数(一个数组)

javascript 中call用处不少,用一句话概括就是动态改变this.比如说: function cat(){}//做一个原型扩展cat.prototype={food:"fish",say: function(){alert("I love "+this.food);}}var blackCat = new cat;blackCat.say();//当我需要一条黑狗也...

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

你说实际开发是吧 那就来个常见点的 JQuery中就大量运用了call/apply, 化腐朽为神奇(雾.. A 想得到一个对象的更精确的类型时, 不是用的typeof, 而是Object.prototype.toString.call(), 比如你可以把new RegExp, 数字等等运行看看 B 你能在$('but...

call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. 所以,你调用的方法的返回值就是你所谓的call的返回值了。 例如: var a = function(){return 1;} a.call(this); 1

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

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

网站地图

All rights reserved Powered by www.rspz.net

copyright ©right 2010-2021。
www.rspz.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com