JavaScript为输出添加引号

时间:2018-02-06 21:55:05

标签: javascript html

这是我的代码:

<!DOCTYPE html> 
  <html> 
    <body>     
      <h2>JavaScript Operators</h2>

      <p>The + operator concatenates (adds) strings.</p>

      <p id="demo"></p>
    </body> 

    <script> 
      var txt1 = '"Jhon"'; 
      var txt2 = "Doe";
      document.getElementById("demo").innerHTML = txt1 + " " + txt2;
    </script>
  </html>

输出就像Jhon Doe,但我想在输出中添加引号,如“Jhon”“Doe”。我知道我可以通过向变量添加转义来实现这一点,例如“Jhon”或“\”Jhon \“”但我的变量在我的实际代码中不是字符串,这只是一个例子。

试图再次说清楚,我无法编辑字符串变量值我想在这里编辑输出以添加引号

  

document.getElementById(“demo”)。innerHTML = txt1 +“”+ txt2;

2 个答案:

答案 0 :(得分:0)

如果我理解正确的话,您可以使用JSON.stringify对字符串变量进行双字符串化:

&#13;
&#13;
Overall Effects
&#13;
var txt1 = "Jhon";
var txt2 = "Doe";

document.getElementById("demo").innerHTML = JSON.stringify(txt1) + " " + JSON.stringify(txt2);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

由于接受的答案以低效且无意的方式使用JSON.stringify(),因此浏览器支持较差,更不用说它是不直观和奇怪的,我认为我会以正常和理论上更快的方式做到这一点。

KEEP IN MIND,接受的答案对于列出的目的是好的,我只是认为以直观的方式做事更好,你想要添加引号,这就是你如何添加引号。 JSON.stringify()用于创建变量或对象的JSON字符串,恰好添加引号。

将文字输出更改为:

document.getElementById("demo").innerHTML = '"'+txt1+'"' + " " + '"'+txt2+'"';

如果您愿意,也可以使用\"转义序列。

这在很多方面都是多功能的,因为你现在可以这样做:

var quote="\"";
var names=[
    ["John", "Doe"],
    ["Jane", "Doe"],
    ["Jennifer", "Dawn"]
];
names.forEach(function(item,key){
    var txt1=item[0];
    var txt2=item[1];
    document.getElementById("demo").innerHTML += quote+txt1+quote + " " + quote+txt2+quote+"<br/>";
});

quote="\""

预期输出

"John" "Doe"
"Jane" "Doe"
"Jennifer" "Dawn"

quote="'"

预期输出

'John' 'Doe'
'Jane' 'Doe'
'Jennifer' 'Dawn'

Etc等。这使得复杂的字符串操作变得更加容易,特别是在涉及价格和放置正确​​的货币符号时。