像在PHP中一样在javascript中获取函数参数

时间:2013-01-19 00:09:11

标签: php javascript

  

可能重复:
  Calling dynamic function with dynamic parameters in Javascript
  javascript array parameter list

我正在寻找与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 个答案:

答案 0 :(得分:2)

使用arguments变量。

它不是一个数组(它是一个“类似数组的对象”,它与标准数组有一些区别),但你可以用这种方式将它转换为一个真正的数组:

function myfunc() {
    var argArray = Array.prototype.slice.call( arguments );
    /* ... do whatever you want */
}

答案 1 :(得分:1)

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

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

myfunc(1, "abc");  // arg1 = 1,
                   // arg2 = "abc",
                   // argc = 2

答案 2 :(得分:0)

这个问题是一个骗局,但答案很简单:

function foo() {
  for (var i = 0; i < arguments.length; i++) {
    alert(arguments[i]);
  }
}

答案 3 :(得分:0)

您已将这些功能移植到js:

<强> {php} .js