js方法参数中包含反斜杠获取后为什么自动去掉

function show(file){alert(file);}
<a href="#" onclick="show('d:\tomcat6\webapps\xm\upload\a.doc')">弹出</a>

调用方法就把所有的“\”去掉了

你说的反斜杠是json数据 中的转义符,用来标识”,/ 等等这些特殊符号的,js读取的时候当然会去掉咯。你要理解什么是“转义”,就明白了
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-07
一个\表示转义。如果和后面的字符不构成转义,则会忽略该\
解决办法是用 \\ 或者 /本回答被提问者采纳
第2个回答  2013-08-27
d:\tomcat6\webapps\xm\upload\a.doc

改成
d:\\tomcat6\\webapps\\xm\\upload\\a.doc追问

如果用String的replaceAll(),要怎么转

追答

什么意思|?

追问

String filename = "d:\tomcat6\webapps\xm\upload\a.doc";这个在环境里当然不能这样写
filename = filename.replaceAll("","");
最后转换成d:\\tomcat6\\webapps\\xm\\upload\\a.doc
我在这个方法里参数老是写不对

追答

贴多一些代码。

追问

就是当我点击超链的时候怎么样才能弹出还是d:\tomcat6\webapps\xm\upload\a.doc

追答

就是把show的参数换成 d:\\tomcat6\\webapps\\xm\\upload\\a.doc啊

追问

如果方法里的参数不是这个值而是java脚本而脚本参数值是d:\tomcat6\webapps\xm\upload\a.doc,请问要怎么转换成d:\\tomcat6\\webapps\\xm\\upload\\a.doc

追答

replaceAll("\\","\\\\")试试。

第3个回答  2013-08-27
在程序语言中 \ 是转意字符,他和后边的一个字符组合成一个被转意的字符
你应该写 2个\ 这样结果就是一个\了本回答被网友采纳
相似回答