JavaScript不转义\字符?

JavaScript不转义\字符?,javascript,Javascript,我正在为YQL构建一个查询,但遇到了一个愚蠢的问题。我不会在整个查询中粘贴,因为没有必要,只是我遇到问题的部分: var query = encodeURI("... and xpath='//div[@class=\\'body bodySign\\']/p' ...")'; 您可能会注意到,我添加了两个\字符,这是实际查询所需要的。我使用的是多重查询,我需要将“字符加倍esacpe,以便它们在YQL中正确解析 但是JavaScript转义了\字符。无论我添加了多少\(为了“转义”到后面的\

我正在为YQL构建一个查询,但遇到了一个愚蠢的问题。我不会在整个查询中粘贴,因为没有必要,只是我遇到问题的部分:

var query = encodeURI("... and xpath='//div[@class=\\'body bodySign\\']/p' ...")';
您可能会注意到,我添加了两个
\
字符,这是实际查询所需要的。我使用的是多重查询,我需要将
字符加倍esacpe,以便它们在YQL中正确解析

但是JavaScript转义了
\
字符。无论我添加了多少
\
(为了“转义”到后面的
\
字符),我的查询中仍然只剩下一个
\

如何保持多个
\
字符不相互转义

谢谢

应该是

var query = encodeURI("... and xpath='//div[@class=\\\\'body bodySign\\\\']/p' ...")';

例如,点击F12并查看控制台.log(\\\\”

的输出,因此您希望以
[@class=\\'body bodySign\\\\']
?反斜杠只转义以下字符,所以\\=\,\\\\\\\\\\,等等。
encodeURI(\\\1\\2\\\\\\3”)
如果您希望在查询中有一个反斜杠,则给出
%5C1%5C2%5C3%
,字符串中需要
\\
(需要转义反斜杠)。如果你想要两个,你需要
\\\\