js里使用中文变量名有哪些缺点?
Ecma262规定标识符中可以使用ASCII扩展字符和Unicode字符:
var 安静的美男子 = {高: 149, 富: 0, 帅: undefined};
var ಠ_ಠ = 安静的美男子.帅;
写这样萌的代码,真的不好吗?
在浏览器中执行类似这样的代码有什么隐患吗?
使用中文或颜文字做变量名除了不支持驼峰格式外,还有那些缺点?
白、夜茶ぃ默
10 years, 2 months ago
Answers
挺有意思的问题。不过既然楼主是问缺点,那就专门谈谈缺点。
- 首先,有的答案已经指出了,软件开发是一项国际化很高的工作,先谈比较远的,比如某天你们团队招了个老外,老外还要不要做开发了?
- 或者你远走他乡,去了个周围都是老外的地方,还要不要复用以前的代码?
- 或者,你的代码进到了某个unicode或者中文处理不当的地方(比如某些变态的浏览器,或者很低版本的Node.js或者某些单片机,甚至或者是别人自己写的解释程序),有可能会挂掉,当然也有可能让别人的程序挂掉。
- 你的代码进到了某台没有中文字体的机器,如何查看??(和第3点是不同的问题哦)
- 或者进到没有中文输入法的机器,如何编辑??
- 或者进到编码设置错误的机器(比如Linux),如何查看编辑??
- 打起来麻烦
-
中文产生混淆的概率比英文要大得多,比如
var 一=1,——=2;var 二=一-——;
你知道二
是多少么? -
符号组合做变量容易引入空格或者其它空白字符混淆,比如
var 对象={};对象["^_^ "]=1;对象["^_^"]=2;
你真的分得清么? - 差不多了,如果被鄙视也算的话,刚好凑够10条
便当当当当当
answered 10 years, 2 months ago