有人知道为什么我Bad escapement
使用以下代码在 JSHint 上出现错误吗?
var regexS = '[\?&]' + name + '=([^&#]*)';
有人知道为什么我Bad escapement
使用以下代码在 JSHint 上出现错误吗?
var regexS = '[\?&]' + name + '=([^&#]*)';
只是双重逃避\
var regexS = '[\\?&]' + name + '=([^&#]*)';
即使我猜测您将使用此字符串作为Regex
对象,字符串中的字符也必须正确转义。默认情况下,a\
会尝试转义下一个字符。如果您添加一个额外的 like \\
,它会转义原始字符串\
并计算为\
最终字符串中的一个。
\? 不是有效的转义字符。尝试将其替换为 \\.
所以它看起来像:
var regexS = '[\\?&]' + name + '=([^&#]*)';
请记住,“\”会转义后面的字符。这就是为什么 \\ 以单斜杠出现的原因(如果您查看此问题的来源,您会发现我需要将 \ 翻两番)。
其他常见的转义序列是 \n 换行符和 \t 制表符。