javascript - 如何在javascript中将字符串值作为引用传递并在那里进行更改

标签 javascript jquery string pass-by-reference

如何在 javascript 中通过引用传递字符串值。

我想要这种功能。

    //Library.js
    function TryAppend(strMain,value)
    {
    strMain=strMain+value;
    return true;
    }

    //pager.aspx

    function validate()
    {
    str="Checking";
    TryAppend(str,"TextBox");
    alert(str); //expected result "Checking" TextBox
    //result being obtained "Checking"    
    }

如何做到这一点。 ?

最佳答案

您不能在 JS 中通过引用传递值。您可以创建一个带有函数的对象来为您执行此操作:

function TryAppend(originalValue) {

    // Holds the value to return
    this.Value = originalValue;

    // The function joins the two strings
    this.Append = function (append) { 
        this.Value+=append; 
        return true;
    }

}

然后您可以在任何方法中使用它,如下所示:

function AnyProcedure() {

    var str = "Checking";
    var append = new TryAppend(str);
    if (append.Append("TextBox")) {
        alert(append.Value);  // Will give "CheckingTextBox"
    }

}

每次调用 append 时,都会附加值字符串。即

如果你这样做了:

append.Append(" Foo");

append.Value 等于 CheckingTextBox Foo

关于javascript - 如何在javascript中将字符串值作为引用传递并在那里进行更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246842/

相关文章:

javascript - 如何在 Jasmine 中显示通过测试?

javascript - 如何从 Coffeescript 文件中配置 JSHint?

javascript - 无需投影仪即可渲染模型

jquery - 如何在div中动态添加滚动条?

javascript - Bootstrap 会干扰我的 Jqueryui 还是我遗漏了什么?

c - 构建一个复杂的字符串?

c# - 从 List<string> 中选择带有排除项和非重复选择的随机字符串

javascript - 使用 jQuery 删除重复的输入字段

javascript - 仅当从外部源访问站点时加载特定内容

java - 在矩形上居中调整字符串大小