这是我的代码:
<!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;
答案 0 :(得分:0)
如果我理解正确的话,您可以使用JSON.stringify对字符串变量进行双字符串化:
Overall Effects
&#13;
var txt1 = "Jhon";
var txt2 = "Doe";
document.getElementById("demo").innerHTML = JSON.stringify(txt1) + " " + JSON.stringify(txt2);
&#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等。这使得复杂的字符串操作变得更加容易,特别是在涉及价格和放置正确的货币符号时。