【问题标题】:How do you handle multi-argument JavaScript functions?你如何处理多参数 JavaScript 函数?
【发布时间】:2011-01-14 05:24:14
【问题描述】:

我的 JavaScript 函数定义如下:

function printCompanyName(company1, company2, company3, company4, company5)
{
document.write("<p>" + company1 + "</p>");
document.write("<p>" + company2 + "</p>");
document.write("<p>" + company3 + "</p>");
document.write("<p>" + company4 + "</p>");
document.write("<p>" + company5 + "</p>");
}

并称之为:

printCompanyName("Dell, Microsoft, Apple, Gizmodo, Amazon");

但我得到以下输出:

Dell, Microsoft, Apple, Gizmodo, Amazon

undefined

undefined

undefined

undefined

什么给了!?我一直试图弄清楚这一点。我要:

Dell
Microsoft
Apple
Gizmodo
Amazon

【问题讨论】:

  • 让这成为你的教训!在您(搜索,然后询问)stackoverflow 之前不要花费超过 1 小时。

标签: javascript function argument-passing optional-parameters


【解决方案1】:

您正在传递一个恰好包含 4 个逗号的字符串。
因此,第一个参数包含该单个字符串,而其他 4 个未定义。 (因为你只给出了一个值)
由于 Javascript 参数是可选的,因此不传递其他参数的值不会导致错误。

您需要传递 5 个不同的字符串,它们之间用逗号分隔,如下所示:

printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");

【讨论】:

    【解决方案2】:

    你想打电话:

    printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");
    

    你目前的做法是在一家公司“戴尔、微软、苹果、Gizmodo、亚马逊”。

    【讨论】:

    • 非常感谢!你救了我的命,因为我要接受它!
    【解决方案3】:

    试试这个:

    printCompanyName("Dell", "Microsoft", "Apple", "Gizmodo", "Amazon");
    

    【讨论】:

      【解决方案4】:

      附加信息:

      一种使用函数的方法,参数为逗号分隔的字符串:

      function printCompanyName(names)
      {
          // also check the type of names (you know "if it is a string object")
      
          var data = names.split(',');    
          for(var i in data) {
              document.write("<p>" + data[i].trim() + "</p>");  
          }
      }
      

      例如:printCompanyName("Dell, Microsoft, Apple, Gizmodo, Amazon");

      否则使用内部参数 var 的多参数函数:

      function printCompanyName()
      {
          for(var i in arguments) {
              document.write("<p>" + arguments[i] + "</p>");  
          }
      }
      

      例如:printCompanyName('Dell', 'Microsoft', 'Apple', 'Gizmodo', 'Amazon'); 就像 SLaks 所说的那样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-30
        • 2021-11-16
        • 1970-01-01
        • 1970-01-01
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多