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>

 

你可能感兴趣的:(script)