【问题标题】:why backslash(\) in a string is giving error in console为什么字符串中的反斜杠(\)在控制台中给出错误
【发布时间】:2016-12-07 22:01:52
【问题描述】:

我有一个类似

的字符串
"C:\projects\cisco\iwan_staging_enc\enterprise-network-controller\ui-plugins\iwan"

当我粘贴到console 并按回车键时,出现以下错误

Uncaught SyntaxError: Invalid Unicode escape sequence

这里有什么问题

谢谢

nageshwar

【问题讨论】:

标签: javascript string google-chrome console


【解决方案1】:

\u 是 unicode 转义序列的开头,在您的字符串中,\u 后面没有四个十六进制数字,这是 unicode 转义序列 \uxxxx 的格式。见

"C:\projects\cisco\iwan_staging_enc\enterprise-network-controller\u0050i-plugins\iwan"

\u0050 id P

还有其他类型的转义,例如,如果你在某处有一个\n,你会得到一个换行符

"C:\new projects\cisco\iwan_staging_enc\enterprise-network-controller\u0050i-plugins\iwan"

因此,如果您不想避免这些转义序列,请在字符串中的 \s 前面加上一个斜杠。

"C:\\projects\\cisco\\iwan_staging_enc\\enterprise-network-controller\\ui-plugins\\iwan"

【讨论】:

  • 感谢您的回答,但如果字符串是动态字符串,我如何将单反斜杠更改为双反斜杠
  • 这仅与字符串文字相关,即当您在代码中键入它时。如果字符串来自其他来源,则无需转义。
【解决方案2】:

由于反斜杠是转义字符,您的字符串应修改为:

"C:\\projects\\cisco\\iwan_staging_enc\\enterprise-network-controller\\ui-plugins\\iwan"

请看:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#Escape_notation

【讨论】:

  • 我如何修改它,无论我对该字符串做什么,都会出现错误
  • 据我所知,在输入 javascript 时,您需要对字符串进行转义。可能有替代解决方案,但我目前不知道这些。
猜你喜欢
  • 2022-08-07
  • 1970-01-01
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多