Javascript将数组传递给另一个函数

时间:2013-08-17 07:51:33

标签: javascript arrays overloading

由于不允许重载函数,我试图找到一种方法将值传递给函数。

php 中,我通过以下方式解决:

// value2 and value3 are optional
function myMethod(value1, value2 = '', value3 = '')
{
   // TO DO
}

Java 中,我可以重载方法:

function myMethod(value1)
{
   // TO DO
}

function myMethod(value1, value2)
{
   // TO DO
}

javascript 中我不知道:

var myAwesomeOptions =
{
   'value1' : 'abc',
   'value3' : 'def'
}

myMethod(myAwesomeOptions);    

function myMethod(options)
{
   if (value1 == ???? ) ...
   or

   switch(options)
   ....
}

正如您所看到的,我正在尝试为函数执行重载。如何将值传递给具有可选参数的函数?

3 个答案:

答案 0 :(得分:2)

Chech this link..

Object.prototype.toString.call(vArg) === "[object Array]";

答案 1 :(得分:0)

JavaScript中有Argument对象。例如。

function testme()
{
    var first_name=arguments[0] || "John";
    var last_name=arguments[1] || "Doe";
    alert(first_name);
    alert(last_name);
}

testme();

testme("Jane");

因此您可以使用Argument对象来重载函数。当然,您也可以传递数组或集合。

答案 2 :(得分:0)

您可以通过以下方式进行操作:

function myMethod() {
 switch (arguments.length) {
  case 0:
   //TO DO
   break;
  case 1:
   var value1 = arguments[0];
   //TO DO
   break;
 }
}