我确信我错过了一些基本的东西,但我不确定是什么。
这是一些代码:
var carColor = JSON.stringify(this.car.color);
document.getElementById('id').innerHTML = carColor; // displays: "blue"
console.log(carColor); // displays: '\'blue\''
我假设我可以使用函数从该文本中删除斜杠,但是有没有更好的方法来使该变量等于颜色名称?
最佳答案
JSON.stringify()
的行为是标准化的,不会添加您正在观察的斜杠。
但是,console.log()
的精确行为并未跨平台标准化,并且可能会有所不同。拟议的规范正在开发中,但仍处于早期阶段(我仍然不清楚它是否会涵盖此细节)。您不能依赖其输出完全一致。
在某些平台上,字符串在显示之前可能会自动重新转义,以便读者(假设他们是开发人员,而不是会感到困惑的最终用户)清楚任何特殊字符。当字符串已经使用 JSON.stringify()
进行转义时,这种双重转义可能会导致输出中显示反斜杠,正如您所经历的那样。
您可以使用另一种显示文本的方法(例如alert()
)来验证字符串的实际内容。
关于javascript - 当设置 JSON.stringify 值等于变量时,它会在前面添加 '\' 并在末尾添加\',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35024293/