String.concat()如何在javascript中实现?

String.concat()如何在javascript中实现?,javascript,function,Javascript,Function,在函数.concat()中,我可以向它传递任意数量的参数 我理解C++中函数重载,但我不知道如何在JavaScript中实现一个未知参数的函数。 如何为函数实现任意数量的参数?在javascript中,您将使用名为“arguments”的内置参数,它是传递给函数的所有参数的数组。您可以使用arguments.length和数组参数[0]、参数[1]等中的每个值获取它的长度。。。每个函数都有可以使用的内置变量 例如,一个函数用于连接传递给它的所有字符串 function concatAll() {

在函数
.concat()
中,我可以向它传递任意数量的参数

我理解C++中函数重载,但我不知道如何在JavaScript中实现一个未知参数的函数。


如何为函数实现任意数量的参数?

在javascript中,您将使用名为“arguments”的内置参数,它是传递给函数的所有参数的数组。您可以使用arguments.length和数组参数[0]、参数[1]等中的每个值获取它的长度。。。每个函数都有可以使用的内置变量

例如,一个函数用于连接传递给它的所有字符串

function concatAll() {
    var str;
    for (var i = 0 ; i < arguments.length; i++) {
        str += arguments[i];
    }
    return(str);
}

var f = concatAll("abc", "def", "ghi");   // "abcdefghi"
函数concatAll(){
var-str;
for(var i=0;i
您可以使用
参数
对象执行此操作。请参见此处的示例和文档:

如下图所示-

function f()
{
    var i;

    for(i=0; i<arguments.length; i++)
    {
        alert( (i+1) +  "th argument: " + arguments[i]);
    }
}
toggleButton("#idOfFirstField", "#idOfSecondField", "#idOfButtonToToggle");
toggleButton("#idOfFirstField", "#idOfSecondField", "#idOfThirdField", "#idOfButtonToToggle");
这样调用这个函数-

function f()
{
    var i;

    for(i=0; i<arguments.length; i++)
    {
        alert( (i+1) +  "th argument: " + arguments[i]);
    }
}
toggleButton("#idOfFirstField", "#idOfSecondField", "#idOfButtonToToggle");
toggleButton("#idOfFirstField", "#idOfSecondField", "#idOfThirdField", "#idOfButtonToToggle");
或者像这样-

function f()
{
    var i;

    for(i=0; i<arguments.length; i++)
    {
        alert( (i+1) +  "th argument: " + arguments[i]);
    }
}
toggleButton("#idOfFirstField", "#idOfSecondField", "#idOfButtonToToggle");
toggleButton("#idOfFirstField", "#idOfSecondField", "#idOfThirdField", "#idOfButtonToToggle");
因此,在这两种情况下,我都将变量数量的字段ID传递给函数,并检查这些字段是否为空。如果它们都包含某个值,则会切换按钮的可见性。

如下-使用所有可用功能:

function someFunction() {
  for (var i=0,n=arguments.length;i<n;i++) {
    // do something with arguments[i];
  }
}
function someFunction(){

对于(var i=0,n=arguments.length;i您可以使用
arguments
数组访问函数中未正式声明的参数:

function printArguments() {
  for (i = 0; i < printArguments.arguments.length; i++)
    document.writeln(printArguments.arguments[i] + '<br />');
}

printArguments(1, 2, 3, 'etc');
函数printArguments(){
对于(i=0;i');
}
打印参数(1、2、3等);

来源:

任何javascript函数都可以有任意数量的参数。如果函数的执行取决于其
参数的数量或特定质量,则必须检查
参数
对象,该对象可以像其他对象所示的“Arraylike”对象一样进行迭代

在某些情况下,使用类似
var args=Array.prototype.slice(参数)


这是John Resigs关于方法重载的页面,可能会引起你的兴趣。

你能详细说明你的问题吗?唉,我只是浪费了第一篇文章来纠正文章中的拼写错误,现在Blender甚至放弃了编辑。这在周六早上不是一个好的开始……哈哈,你这么晚了,但至少这是我以前在网站上写的一篇文章是JS的编辑。很高兴看到1997年的代码仍然有效