Javascript没有按预期打印变量

时间:2016-05-15 10:50:16

标签: javascript json

对于以下javascript

for (i = 0; i < agentIds.length; i++) {
        var agentId = agentIds[i];
        var variable1 = "isWrapup_"+agentId;
        alert(variable1);
        var text2 = "var isWrapup = JSON.parse(${"+variable1+"});";
        alert(text2);
}

第一个提醒打印为:isWrapup_efdbf4e71c9c6997eb705a71a6819b78

第二个提醒打印为:var isWrapup = JSON.parse('+variable1+');

我希望将其打印为:var isWrapup = JSON.parse('isWrapup_efdbf4e71c9c6997eb705a71a6819b78')

我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

需要更正文本格式,在这些情况下,concat效果更好,here就是原因。尝试:

for (i = 0; i < agentIds.length; i++) {
        var agentId = agentIds[i];
        var variable1 = "isWrapup_"+agentId;
        alert(variable1);
        var str1 = "var isWrapup = JSON.parse(${"
        var str2 = "});"
        var text2 = str1.concat(variable1,str2);;
        alert(text2);
}

答案 1 :(得分:0)

目前你需要做的就是从图片中删除'$',就是这样。

var text2 = "var isWrapup = JSON.parse({" + variable1 + "});";  // works fine here : https://www.javascript.com/try

此外,您无意中使用了Escape_character#JavaScript

  

点对点协议使用0x7D八位字节(\ 175或ASCII:})   作为逃避角色

在这种情况下,您可以在代码中尝试这样的事情:

var text2 = "var isWrapup = JSON.parse({{" + variable1 + "}});"; 

希望它有所帮助。