javascript正从我的字符串中删除反斜杠?

时间:2013-06-11 02:23:26

标签: javascript knockout.js mathjax

JSFiddle

这是我正在尝试做的事情:

this.observableString = ko.observable('When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$');
    this.regularString = 'When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$';

};

这两个都让我胡言乱语,因为反斜杠在被MathJax渲染之前以某种方式被替换。如果我使用内联文本,它的工作原理。如何在不触及反斜杠的情况下保存这些字符串?

2 个答案:

答案 0 :(得分:4)

由于\是JavaScript中的escape character,因此您必须将其转义为反斜杠。

使用\\(转义转义字符)代替\

请参阅此更新的小提琴:http://jsfiddle.net/LkqTU/9708/

答案 1 :(得分:4)

你需要加倍所有的反斜杠。 Javascript使用\作为“转义字符”,例如'\n'被解释为包含换行符的单字符字符串。