你的位置:首页 > ASP.net教程

[ASP.net教程]Asp for JScript陷阱之一:字符转义


错误用法:

复制代码
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%><%  var path1="C:\mydir\img";  var path2="C:\\mydir\\img";%><html><head>   <script>      var i="<%=path1%>";      var j="<%=path2%>";      alert(i); //输出C:mydirimg      alert(j); //输出C:mydirimg   </script></head></html>
复制代码

原因:
因为i得到的是path1输出的值,而 \ 是转义字符 所以i实际得到的值是C:mydirimg,而
j虽然得到的值是C:\mydir\img,但j仍然是一个js变量,所以 \ 还是转义字符。剖开来看就像这样子:

复制代码
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%><%  var path1="C:\mydir\img";  var path2="C:\\mydir\\img";%><html><head>   <script>      var i="C:mydirimg";   //i="<%=path1%>";      var j="C:\mydir\img"; //"<%=path1%>";      alert(i); //输出C:mydirimg      alert(j); //输出C:mydirimg   </script></head></html>
复制代码

正确用法:

复制代码
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%><%  var path1="C:\\\\mydir\\\\img";%><html><head>   <script>      var i="<%=path1%>";      alert(i); //输出C:\mydir\img   </script></head></html>
复制代码