论坛首页 入门技术论坛

非IE浏览器中js使用中文标识符的bug

浏览 1426 次
该帖已经被评为新手帖
作者 正文
   发表时间:2009-12-23   最后修改:2009-12-23

今天在一个网站看到了作者使用中文命名。我们知道js中可以使用中文标识符,如变量,类名,参数名,方法名等。

如下代码:

 

function 学生(姓名,年龄){//类名:学生,参数:姓名,年龄
	this.姓名=姓名;
	this.年龄=年龄;
}
学生.prototype.获取姓名=function(){//方法名:获取姓名
	return this.姓名;
}
学生.prototype.设置姓名=function(名字){//方法名:设置姓名
	this.姓名=名字;
}

var student1 = new 学生("张三",18);
alert(student1.获取姓名());
student1.设置姓名("李四");
alert(student1.获取姓名());

 

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

 

有个bug,如下中文命名:

var 中国,北京=["海淀","朝阳","东城","西城"];
alert(中国,北京);

 

定义了一个变量"中国,北京"(变量中有个中文逗号),将只在IE中弹出信息框,Firefox/Safari/Chrome都将报错。

 

测试使用中文顿号(、),分号(;),句号(。)等现象与逗号一样。因此想用中文命名变量时不能使用中文标点符号,因为这样不能兼容所有浏览器。

 

 

 

   发表时间:2010-01-08  
不算bug吧,就算是英文变量,中间也是不可以有符号的.
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics