您的位置:首页 > Web前端 > JavaScript

js文件中的中文注释问题

2009-10-14 09:58 225 查看
在一些公用和自己写的js 文件中, 很多人都会使用中文的注释, 或者干脆就是网上拷贝的, 贴到js脚本文件中. 如果这些js脚本文件中存在中文, 这些中文可能是乱码.

这时候就要注意了, 不要小看这些乱码的中文, 因为这些中文可能让你的js脚本里面的代码不被读取.

如果A.jsp页面的编码是UTF-8, A.jsp中用 <script src="/js/mine.js"></script> 的形式引入mine.js

1. mine.js (GBK)

alert('mine.js 1');

//我的js 库, 编码是GBk,下面的代码可能不会被读取到

function aa(a){
alert(' a begin');
this.a = a;
alert(' a end');
}
alert('mine.js 2');


测试只 不alert('mine.js 1'); 也不alert('mine.js 2');

2. 用eclipse 把 mine.js 文件的编码改为UTF-8

alert('mine.js 1');

/*�ҵ�js ��, ������GBk,����Ĵ�����ܲ��ᱻ��ȡ��*/
function aa(a){
alert(' a begin');
this.a = a;
alert(' a end');
}

alert('mine.js 2');


虽然中文显示是乱码的, 但是测试结果:

alert('mine.js 1'); 了并且 alert('mine.js 2'); 了.

3. 如果把mine.js中的中文注释去掉

alert('mine.js 1');
function aa(a){
alert(' a begin');
this.a = a;
alert(' a end');
}
alert('mine.js 2');


无论mine.js 的文件编码是GBK还是UTF-8,

测试结果都是:

alert('mine.js 1'); 了并且 alert('mine.js 2'); 了.

4. 保留中文, 但是去掉function aa

alert('mine.js 1');

//我的js 库, 编码是GBk,下面的代码可能不会被读取到
alert('mine.js 2');


无论mine.js 的文件编码是GBK还是UTF-8,

测试结果都是:

alert('mine.js 1'); 了并且 alert('mine.js 2'); 了.

看来因为存在中文注释, function aa 没被正确声明, 并且这个造成了整个js 文件不能被正确解析.

所以, 在js 文件中, 注释最好还是用 英文的, 不用中文的. 不然你在这个项目中用得好好的js 文件, 在其他的项目中突然不能用了, 有不知道是什么原因, 那就惨了.

测试浏览器IE6.0, 如果是IE7.0 和 IE8.0, 没有这个问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: