我把js文件存成GB2312的也一样可以用啊,算一个字符串的length也是正确的。
关于这个问题,其实我也不是很清楚,按我的理解:
我先摘抄一段《编写高质量代码:改善JavaScript程序的188个建议》 http://www.duokan.com/book/59575
ECMA标准规定JavaScript语言基于Uni-code标准进行开发,JavaScript内核完全采用UCS字符集进行编写,因此在JavaScript代码中每个字符都使用两个字节来表示,这意味着可以使用中文来命名变量或函数名,例如:
var 人名 = "张三";
function 睡觉(谁){
alert(谁 + ":快睡觉!都半夜三更了。");
}
睡觉(人名);
至于你文件的编码,我认为和语言的编码没有直接关系,比如你用GB2312作为文件编码,你JS程序的中的日文或其他不存在的字符编码就会乱码呀
javascript内部计算、传递等使用的字符串之类的是使用unicode编码的,和js文件保存的编码格式无关