0

可能重复:在 Javascript javascript 数组参数列表
中使用动态参数调用动态函数

我正在寻找我在 PHP 中使用的以下功能的 Javascript 等效项:

function myfunc()
{
     $arg_arr = array();
     $arg_arr = func_get_args();

     $my_arg_val_1 = (!isset($arg_arr[1]) || ($arg_arr[1] == '')) ? true : $arg_arr[1];
}

基本上,我正在尝试获取函数参数。我想编写一个 javascript 函数来获取一个参数,但是我想添加一些代码来使用第二个和第三个参数(如果提供的话)做一些事情,但我不知道如何解决这个问题。

任何帮助将不胜感激。

谢谢。

4

4 回答 4

2

使用参数变量。

它不是一个数组(它是一个“类数组对象”,与标准数组有一些不同),但您可以通过以下方式将其转换为真正的数组:

function myfunc() {
    var argArray = Array.prototype.slice.call( arguments );
    /* ... do whatever you want */
}
于 2013-01-19T00:12:21.320 回答
1

在 JavaScriptarguments中,每个函数都有可用的变量。它看起来像一个数组,其中包含传递给函数的所有参数:

function myfunc() {
    var arg1 = arguments[0],
        arg2 = arguments[1],
        argc = arguments.length;
}

myfunc(1, "abc");  // arg1 = 1,
                   // arg2 = "abc",
                   // argc = 2
于 2013-01-19T00:12:13.623 回答
0

这个问题是骗人的,但答案很简单:

function foo() {
  for (var i = 0; i < arguments.length; i++) {
    alert(arguments[i]);
  }
}
于 2013-01-19T00:12:33.933 回答
0

您已移植到 js 的那些功能:

{php} .js

于 2013-01-19T00:19:00.367 回答