以前知道用js求字符串长度的时候,中英文要单独处理。今天看书,看到这么一段:
[code="java"]var so = new String("hello world");
alert(so.length);// outputs "11"[/code]
上面输出11.[color=red]”注意:即使字符串包含双字节的字符,每个字符也只算一个字符。“[/color]
红色的不太懂什么意思。中文不是双字节的吗?
[b]问题补充:[/b]
不会吧。
[code="java"]var n = new String("aaa bbb ccc我");
alert(n.length);[/code]
这里得到的是13
[code="java"]var n = new String("aaa bbb ccc");
alert(n.length);[/code]
这个得到的是11啊
怎么回事????
[b]问题补充:[/b]
我是ie7,你呢?我用别人的ie6是12。
我晕了。
[b]问题补充:[/b]
不可能多空格,我把文件发给他们,直接打开,不做任何修改,结果就是12,我的这里是13,不过他那里的火狐也是13.
怎么该???
[b]问题补充:[/b]
谢谢你的耐心。
我知道为什么了。因为我是在文件里面测试的。而文件的(html)的编码设置的是UTF-8。我改成GBK就可以弹出12了。
ps。直接在地址栏alert也是12,不管什么浏览器。
这个问题是不是没办法解决啊?如果要把页面编码设置成UTF-8,在用到js的length的时候就只能单独处理了?
期待中............