(.js)Javascript中文注释问题
Javascript中文注释问题 {#timeline} {#posttime}
在HTML页面中引用的Javascript(.js文件)中如果使用中文注释,一般情况下不会出现问题。
但是在页面改为JSP或者ASPX时如果没有指定编码,将导致解释执行可能产生严重错误。
例如在HTML页面中被引用的包含以下正常代码段的.js文件
//清空列表
function emptyList(list){
for(var i=0;list.length=0;i++){list.remove(i)}
}
在JSP或ASPX页面中被引用时,运行错误。通过Microsoft Script Debugger发现代码段变成了下面的乱码:
//ǥ?Ձб퍊function emptyList(list){
for(var i=0;list.length=0;i++){list.remove(i)}
}
必须在引用时添加charset字段,而不是习惯性地不去添加:
<script language="JavaScript" src="inc/function.js" type="text/javascript" charset="gb2312">
只有这样才是最规范的。遵循规范,尽可能规避“默认值”将减少程序出错的几率。