JavaScript有文字string?

在C#和ruby和许多其他语言,你可以表示一个string,因为不需要转义。
在C#中是这样的

string s = @"\whatever\this\is"; 

结果是打印时

 \whatever\this\is 

我的问题是,这是支持在JavaScript中的任何forms?

简短的回答:不

长答案:不,唔唔唔唔唔唔唔唔唔唔

我不知道你在做什么,但是解决转义问题的一种方法是使用John Resig似乎非常喜欢的一个技巧。 你在页面中包含<script>块,但是给它们一个像“text / plain”这样的“types”来确保浏览器不把它们交给Javascript。 然后使用任何你喜欢的脚本块的文本。

 <script id='a_string' type='text/plain'> Here is some stuff. There might be some \escape sequences in it. </script> 

然后你可以用$('#a_string').text() (或者如果你不使用jQuery或类似的东西,用getElementById $('#a_string').text()抓住它。

编辑:这里是John Resig关于为什么把东西放入脚本块的解释是个好主意:

快速提示:在页面中embedded具有未知内容types的脚本(这里就是这种情况 – 浏览器不知道如何执行text / html脚本)被浏览器忽略 – search引擎和屏幕阅读器。 这是一个偷偷摸摸进入你的页面的完美隐藏设备。 我喜欢使用这种技术来处理快速和肮脏的情况,我只需要一个或两个页面上的小模板,并希望轻快的东西。

采取从这页: http : //ejohn.org/blog/javascript-micro-templating/

只是逃避逃生

 var myCrazyString = "\\yes\\we\\have\\no\\bananas" 

通过使用ES6语言function可以使用文字string。 节点v4.x现在支持这些以及大约90%的其他ES6添加。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings

在JSstring文字被称为模板string。 语法非常简单。

我知道现在已经六年了,但我已经有了一个解决scheme;)

 function literalString(regex) { return ('' + regex).slice(1, -1); }; O.innerHTML = literalString(/\whatever\this\is/); 
 <pre id=O> 

只要你不把\x放到string中,这个就行了!

 var str = String.raw`\whatever\this\is`; console.log(str);