Ale*_*yne 10 javascript arguments
我想我需要像ruby's splat这样的东西*
.
function foo() {
var result = '';
for (var i = 0; i < arguments.length; i++) {
result += arguments[i];
}
return result;
}
function bar() {
return foo(arguments) // this line doesn't work as I expect
}
bar(1, 2, 3);
Run Code Online (Sandbox Code Playgroud)
我希望这回来"123"
,但我得到了"[object Arguments]"
.我认为这是有道理的.它传递的是表示参数的对象,而不是单独的参数.
那么我如何简单地将任意数量的参数转发给另一个带有任意数量参数的函数呢?
CMS*_*CMS 21
要将参数正确传递给另一个函数,您需要使用arguments
:
function bar() {
return foo(...arguments);
}
Run Code Online (Sandbox Code Playgroud)
该apply
方法有两个参数,第一个是apply
,它的值将被用作thisObj
调用函数内部的值,如果使用this
或者null
,undefined
函数内部的值将引用全局对象.
this
期望的第二个参数是一个类似数组的对象,它包含要应用于函数的参数.
在这里查看上面的例子.
归档时间: |
|
查看次数: |
5314 次 |
最近记录: |