建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

在IE中使用中文标识符容易出现的BUG

时间:2011-03-02 09:25来源: 作者: 点击:
在IE中使用中文标识符容易出现的BUG,首先看下下面这段代码,它使用了中文命名。我们知道js中可以使用中文标识符,如变量,类名,参数名,方法名等。如下代码: view sourceprint? 01    function 学生(姓名,年龄){//类名:学生,参数:姓名,年龄 02 &n
在IE中使用中文标识符容易出现的BUG,首先看下下面这段代码,它使用了中文命名。我们知道js中可以使用中文标识符,如变量,类名,参数名,方法名等。如下代码:
view sourceprint?
01    function 学生(姓名,年龄){//类名:学生,参数:姓名,年龄
02        this.姓名=姓名;
03        this.年龄=年龄;
04    }
05    学生.prototype.获取姓名=function(){//方法名:获取姓名
06        return this.姓名;
07    }
08    学生.prototype.设置姓名=function(名字){//方法名:设置姓名
09        this.姓名=名字;
10    }
11     
12    var student1 = new 学生("张三",18);
13    alert(student1.获取姓名());
14    student1.设置姓名("李四");
15    alert(student1.获取姓名());

new了一个学生类的实例student1,然后调用相应的方法第一次弹出“张三”,修改后弹出“李四”。

但有个bug,如下:
view sourceprint?
1    var 中国,北京=["海淀","朝阳","东城","西城"];
2    alert(中国,北京);

定义了一个变量"中国,北京"(变量中有个中文逗号),将只在IE(包括IE9)中弹出信息框,Firefox/Safari/Chrome都将报错。
测试发现中文顿号(、),分号(;),句号(。)等现象与逗号一样。因此想用中文命名变量时不能使用中文标点符号,因为这样不能兼容所有浏览器。

虽然IE中不报错,但仍然属于IE bug。因为其没按标准去实现。见ECMA262 V5 的7.6,7,7节。 (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片