JavaScript中如何自定义实现apply方法?

如何解决将一个数组中的元素作为函数参数传入函数中?

将数组中的元素一个一个作为函数参数传入,而非将整个数组作为参数传入。

4个回答

先遍历输在再作为参数传递

楼主意思不太明白,正常逻辑,我们像如下所示调用。
var xx = [1,2,3];
function call(a){
}
调用call(xx);
--------------------------
另外一种如下:
call.apply(window,[2,3,g])


我的意思是将数组中的元素一个一个作为函数参数传入,而非将整个数组作为参数传入。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JavaScript中apply()方法的使用
每个函数都包含两个非继承而来的方法,apply()和call()。这两个方法的区别只是接受的参数不同。 apply接受两次参数,一个 是运行函数的作用域,另一个是参数数组(既可以是Array的实例也可以是argument对象),call的第一个参数和apply一致,变化的是其余的参数都要直接传给参数。如:a.apply(this,[1,2,3])=a.call(this,1,2,3) appl...
javascript 中 apply 方法的使用
在看 backbone 的 todos 例子时,有一行代码,如下:   this.without.apply(this, this.done());   一开始怎么也不理解这句话的含义。后来看了一些网上的解释,还是半懂不懂的。今天再次看到它的时候,把JAVA里的反射跟它联系了一下,感觉有点像,然后,再回过头去看看网上的那些解释,感觉有点懂了。 如果把上面一句写成下面这个样子的话,可能更好...
JavaScript 中“apply”方法的使用
apply方法可以让我们写出非常优雅的多态函数。最近在项目中需要实现一个任务类,需要实现把数组作为arguments传递给回调函数,就是用apply来实现的: [code="javascript"]/* * @brief: Task definition * @param: Array: params 为参数数组 * @params: String: func 回调函数的名称...
JavaScript中call与apply方法
JavaScript中call与apply方法
javascript中的call方法和apply方法
很多人会在读别人的源码的时候会经常看到call 和apply方法,但是对两个方法的认识却说不清,比如jquery  ext.js 等等一些开源的框架中都用到了类似的写法,我个人对此做如下总结:        call方法和apply方法主要是用在,本对象需要调用其他对象的方法的时候使用,而在java中我们通常都是会使继承的方式然后重新写父类的方法之后再使用本类来调用此方法,而在javascrip
javascript的apply方法总结
javascript的apply方法总结
JavaScript call() 与 apply() 方法的实现与思路解析
用一个例子开始 greet = "Hi, Im global"; let foo = { greet: "Hello" }; let bar = function(name, character) { console.log(this.greet); return { greet: this.greet, person: `${name} is ${char...
JavaScript之apply方法,call方法,bind方法
apply和call 作用:改变this的指向    不同的地方:参数传递的方式是不一样的 只要是想使用别的对象的方法,并且希望这个方法是当前对象的,那么就可以使用apply或者是call的方法改变this的指向 apply的使用语法 * 函数名字.apply(对象,[参数1,参数2,...]); * 方法名字.apply(对象,[参数1,参数2,...]); * call的使用语法...
javascript中call、apply、bind方法的区别
apply、call和bind方法的不同点 1、call方法是最简单的,它等价于指定this值调用函数 例如: var user={     name:"zhangsan",     what'sYourName:function(){         console.log(this.name);     } }; user.what'sYourName(); //结果打印zh
实现apply call 方法
之前看过阿里大神冴羽的js深入系列,这只是学习后我自己总结学习,大神地址 github.com/mqyqingfeng… call //实现一个call方法: Function.prototype.myCall = function(context) { //此处没有考虑context非object情况 context.fn = this; let...
深入浅出JavaScript之call()、apply()方法
写在前面: 隔了很长时间了,也不知道写点什么。最近一直在研究ES6,一直想写出来的文章能对初学者或者是在学习JS路上有所帮助的。这就是我的初衷。 call、apply的作用 在JavaScript中,call()方法和apply()方法都是为了改变函数运行时上下文而存在的,换句话说:就是为了改变函数体内部 this 的指向。在JavaSc...
Javascript学习笔记之 apply和call方法
apply方法和call方法都可以将函数绑定到其他对象上执行,区别在于调用参数形式的不同,apply方法通过数组形式传入函数的调用参数,而call方法使用逗号分隔的参数列表。例如,obj1.methodA.apply(obj2, ["调用methodA"]); 表示将obj1的methodA方法,绑定到对象obj2上执行。   示例: <!DOCTYPE html PUBLIC "-/...
JavaScript之函数的apply和call方法。
首先,还是先介绍一下call和apply方法。 1.所有的函数都默认包含applycall这两种方法。 2.调用函数的apply和call方法,就相当于调用该函数。 3.call方法和apply的方法:通过传参的方式,强制函数内的this指向某一对象,this引用的会被指向call/apply的第一个参数。 4.apply和call方法的不同:call方法第一个参数之外的参数是直接按参数列
javascript中的apply()以及call()方法的使用
关于this的使用 this 在javascript中是一个只读的变量。在不同的上下文语境当中,this的引用会有改变。 this 引用的规则: 在最外层的代码中,this引用的是全局对象。浏览器的环境下,就是Window对象。 在函数内,this引用根据函数调用的方式的不同而有所不同。 函数内部的this引用规则: 函数的调用方式 this引用的引用对象 构造函数调用 所生成...
javascript中call、apply、bind方法的使用
context的概念在知道我们为什么要使用call、apply、bind方法之前,我觉得有必要先了解一下context的相关概念,通常context的作用是取决于函数将如何被调用,当函数作为对象的方法调用时,this就会被设置为调用方法的对象: var object = { foo: function(){ console.log(this === objec
Javascript中的重载的实现以及方法apply和call
Javascript中,先定义的函数,可以被后定义的函数覆盖。因此Javascript不支持函数的重载。比如下面的例子: <scripttype="text/javascript"> functionp(a,b,c){ alert(a+b+c); } functionp(a,...
EXT中的apply方法
Ext.apply = function(o, c, defaults){ if(defaults){ // no "this" reference for friendly out of scope calls Ext.apply(o, defaults); } if(o && c && typeof c ==...
js中apply方法
在函数内部,有一个特殊的对象this;函数内的属性和方法,都是this下的属性和方法;如: var name="tom"; function add(){ alert (name) }; add() /...
scala中的apply()方法
apply方法类似于类的初始化方法,在遇到Object(参数1,参数2,......,参数n)时就会自动调用apply()方法。 object Test { def main(args: Array[String]): Unit = { val a = ApplyTest() a.haveTry() } } class ApplyTest{ def apply
JavaScript 函数的apply()方法和call()方法
在JavaScript中,每个函数都包含两个非继承而来的方法:apply( )和call( )。这 两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this 对象的值。 (1)apply( )方法接收两个参数:一个是在其中运行函数的作用域,另一个是参数数组。 其中,第二个参数可以是Array的实例,也可以是arguments对象。如例1所示
【JavaScript】call()方法和apply()方法用法总结
什么是call()和apply(): 每个函数都包含两个非继承而来的方法:call()方法和apply()方法。 1.apply与call是更改对象的内部指针,即改变对象的this指向的内容; 2.call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this,后面的参数都是传递给当前对象的参数。 call(): 语法:obj1.call(obj2[,param1,param2,...
Scala中的apply方法
用括号传递给变量(对象)一个或多个参数时,Scala 会把它转换成对apply方法的调用 以下代码仅作为测试,在linux里面创建一个文件Apply.scala,并在里面编写以下代码: class TestApply { def apply(app: String): String = { println("apply method is call
javascript中call和apply的模拟实现
call() call() 方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表)。 语法:fun.call(thisArg, arg1, arg2, ...) 实例: var name="lee"; var obj={ name:"lwf" }; function foo(){ console.log(this.name); } foo...
javascript中的call()方法和apply()方法用法总结
javascript中的call()方法和apply()方法用法总结
[zz]javascript中apply方法和call方法的作用
说明白一点其实就是更改对象的内部指针,即改变对象的this指向的内容。这在面向对象的js编程过程中有时是很有用的。 call函数和apply方法的第一个参数都是要传入给当前对象的对象,及函数内部的this。后面的参数都是传递给当前对象的参数。 func.call(func1)//中this.指向的不是func,而是func1 对于apply和call两者在作用上是相同的,但两者在参数上有区别...
用apply实现bind方法
function baz (fn,obj) { return function(){ return fn.apply(obj,arguments); } } function foo(){ console.log(this.a); } var a = 3; var obj = { a:5 } var bar = baz(foo,obj); var b = bar()...
使用apply实现bind方法
Function.prototype.bind = function(context){ //保存this,也就是调用bind的那个函数 var self = this; var args = [].slice.call(arguments,1); return function(){ //将第一次的参数与此次传入的参数合并,调用self函数
原生实现call、apply方法
大学的时候,一位大佬跟我说,让我用原生写一下call、apply方法,我没写。直到现在。。。。拖延症真的不是吹的。call先来看官方解释:call()方法调用一个函数,其具有一个指定的this值和分别地提供的参数(参数的列表)。也就是说使用call方法,你可以指定被调用函数的this值,并且给他传参数。接下来我们自己实现一个call方法。1、模拟如何指定this的值先来看一段代码function ...
apply方法
1.1.1.  apply方法 通常我们会在类的伴生对象中定义apply方法,当遇到类名(参数1,...参数n)时apply方法会被调用 object ApplyDemo {   def main(args: Array[String]) {     //调用了Array伴生对象的apply方法     //def apply(x: Int, xs: Int*):
《JavaScript设计模式与开发实践》——JavaScript中的call和apply
几点基础知识: Function.prototype.call 和 Function.prototype.apply 方法用于改变内部函数 this 的指向 func.apply(thisArg[, argsArray]) 接受两个参数,第一个参数指定了 func 函数运行时的this,第二个参数是一个数组或者类数组对象 func.call(thisArg, arg1, arg2, ...) ...
关于javascript的call和apply的试用方法
call和apply其实相当于继承, 如,以下两个函数, 1.不传输参数使用 首先是 父类 函数 function Father(){ this.name = ‘sll’; this.money = ‘10000’; this.sayName = (){ return this.name; } } 接着是子类函数 function Children(name,money){ console.log...
JavaScript理解笔记——方法 apply 装饰器
绑定在对象上的函数称为方法,与普通函数无区别,但在内部使用一个this关键字。this始终指向当前对象。 要保证this指向正确,必须用this.xxx();形式调用。 可以在方法内部定义其他函数,但注意(必须)在定义的函数前捕获this:var that=this;否则出错。 可以使用apply控制this的指向。 用apply修复函数调用: unction getAge() { ...
JavaScript函数方法apply()与call()的区别
js中apply()与call()的区别
快速掌握javascript的apply()和call()方法
导读:    1.什么是apply()和call()    2.什么时候使用apply()和call()    3.apply()和call()的唯一不同1.什么是apply()和call()    <1.apply()和call()是函数自带的两个函数,二者作用一致。    <2.作用:改变方法中的this。例:say.call(小怪兽),将方法say()中的this指向对象‘小怪兽...
apply()方法和call()方法
学js有一段时间啦,面试题中经常看到对apply()方法和call()方法的考察,通过查阅资料和做题,现在对call()方法和apply()方法做一个个人的总结,不足之处请纠正。 我们可以将apply()和call()看成某个对象的方法,通过调用方法的形式来间接调用函数。 两者其实是相同的,不同的地方就是传入的参数格式不一样而已,apply()和call()传入的第一个参数是调用函
call方法apply方法
call方法: 语法:call(thisObj,Object1,Object2...)定义:调用一个对象的一个方法,以另一个对象替换当前对象。说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 apply方法: 语法...
JS中的call()和apply()方法
call方法:  语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]])  定义:调用一个对象的一个方法,以另一个对象替换当前对象。  解释:  call 方法可以用来代替另一个对象调用一个方法。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。  apply方法:  语法:apply([thisObj
js中的call和apply方法
js中的函数对象有定义时上下文,运行时上下文,上下文是可以改变的 这些概念。 举个例子 function a(c){ alert(c) alert(this.b) } d={b:'哈哈'} //如果直接运行a();那么a函数是用window调用的,里面的this指window,window对象当然没有b属性了,但是下面的函数将a函数运行时的上下文替换成了d对象,也就是d对象调用a函数
Js中的Call()和apply()方法
call和apply都是Function对象的原型方法,它们是把特定的函数当作一个方法绑定到指定的对象上进行调用。apply和call的方法和功能用法相同,区别是他们传递的参数的方式不同,其中apply()是用数组的方式进行传递参数,call方法则用数值的方式进行传递参数。而且call()方法只能接受多个参数列表,apply()方法只能接收数组或者伪类数组,数组元素将作为参数传递给被调用的函数。c...
apply方法和unapply方法
apply方法和unapply方法appply方法通常,在一个类的伴生对象中定义apply方法,在生成这个类的对象时,就省去了new关键字。请看下面代码:class Foo(foo:String){}object Foo{ def apply(foo:String) : Foo = { new Foo(foo) } }定义一个Foo类,并且在这个类中,有一个伴生对象Foo,里面定义了
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池

相似问题

7
js实现自动复制(不是点击),能够兼容所有浏览器
2
js如何调用jsp自定义的标签?
9
javascript中方法重载,方法同名,参数列表不同,调用函数的时候到底调用哪个函数?
3
vue如何为多页面项目配置自己的404页面以及自定义链接
2
jQuery中"animate()"自定义动画方法对“filter:blur()”的参数没有效果
15
javascript中递归实现1+2+3+4+...+100怎么实现,js递归输出结果可以用log
4
javascript如何用数组实现冒泡排序的算法,不用sort函数怎么实现?
5
js中怎么调用自定义jstl分页标签,急等,感谢
7
回答赚c币看这里:javascript中实现日期转中文的星期几,还有数字转中文大写
5
如何构造一个可以自定义header内容的http请求
6
javascript中怎么实现求一个数组的中位数,求中位数的方式怎么实现的呢?
2
javascript怎么实现判断页面上的链接的功能,判断链接怎么用js语言实现呢?
9
javascript都来回答,怎么实现下拉选择日期的功能,JQ或者JS怎么实现?
1
在线急等解决就给c币:请问javascript中如何实现调用onekeyghost重装系统?
7
javascript简单的问题,想要c币的都来回答:怎么在js网页中实现
4
微信小程序自定义组件在获取到父组件传的值以后如何修改自定义内部数据??
1
node 使用MySQL可否添加MySQL的自定义函数
4
JavaScript原生方法如何将值传给controller?
0
javascript+unifia.js+ome怎么实现国标3码的过滤?
2
js怎么根据自定义属性的值来查找元素