首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >String.concat()是如何在javascript中实现的?

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

Stack Overflow用户
提问于 2011-07-09 12:36:35
回答 6查看 1K关注 0票数 1

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

我了解C++中的函数重载,但我不知道如何在JavaScript中实现具有未知参数数量的函数。

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

EN

回答 6

Stack Overflow用户

发布于 2011-07-09 12:40:39

在javascript中,您将使用名为" arguments“的内置参数,它是传递给函数的所有参数的数组。您可以使用arguments.length以及数组参数、arguments1等中的每个值来获取它的长度。每个函数都有一个可以使用的内置变量。

例如,连接传递给它的所有字符串的函数。

代码语言:javascript
运行
复制
function concatAll() {
    var str;
    for (var i = 0 ; i < arguments.length; i++) {
        str += arguments[i];
    }
    return(str);
}

var f = concatAll("abc", "def", "ghi");   // "abcdefghi"
票数 1
EN

Stack Overflow用户

发布于 2011-07-09 12:41:07

您可以使用arguments对象来完成此操作。请参阅此处的示例和文档:https://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope/arguments

票数 1
EN

Stack Overflow用户

发布于 2011-07-09 12:41:10

就像这样-

代码语言:javascript
运行
复制
function f()
{
    var i;

    for(i=0; i<arguments.length; i++)
    {
        alert( (i+1) +  "th argument: " + arguments[i]);
    }
}

javascript中的所有函数都有一个名为arguments的内置参数,它是一个包含传递给函数的所有函数参数的数组。只需迭代此数组,您将能够访问函数的所有参数。

举个例子,一旦我写了一个函数,用于在某些特定字段不为空的情况下启用/禁用某些按钮。我是这样写这个函数的-

代码语言:javascript
运行
复制
function toggleButton()        // I used jquery inside this function
{
    var i;
    var last = arguments.length-1;

    for(i=0; i<last; i++)
    {
        if( $.trim($(arguments[i]).val()) === "" )
            return false;
    }

    $(arguments[last]).toggle();

    return true;
}

并像这样调用这个函数-

代码语言:javascript
运行
复制
toggleButton("#idOfFirstField", "#idOfSecondField", "#idOfButtonToToggle");

或者像这样-

代码语言:javascript
运行
复制
toggleButton("#idOfFirstField", "#idOfSecondField", "#idOfThirdField", "#idOfButtonToToggle");

因此,在这两种情况下,我都将可变数量的字段in传递给函数,并检查这些字段是否为空。如果它们都包含一些值,则切换按钮的可见性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6632749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档