javascript - js对象的key是汉字的问题
阿神
阿神 2017-04-11 12:11:05
0
7
1804
var foo = {
   '键': '值'
}

设计了一个mapping对象,键名必须是中文,foo['键']是可以娶到数据的,那么这样做有什么不好的地方吗?还是用正则表达式比较好?

阿神
阿神

闭关修行中......

répondre à tous(7)
左手右手慢动作

我来说个不好之处。

如果这段代码在单独一个 js 文件里,而不是嵌入在HTML里面。
那么当浏览器错误的识别这个js文件的编码的时候,其他地方的 js foo['键']undefined

比如
a.js
保存成 GB2312

var foo = {
   '键': '值'
}

i.html
保存成 utf-8

<head>
    <meta charset="utf-8">
    <script src=“a.js”></script>
    <script>console.log(foo['键'])</script>
</head>

这样就有可能出问题(我说有可能因为浏览器会自动试图识别正确的编码,服务器也会试图识别正确的编码作为HTTP头发送给浏览器)

所以如果是单独在一个 js 文件里写中文的话,一般写成

var foo = {'\u952e':"\u503c"}
洪涛

没什么不好

然而这跟正则有什么关系。。

黄舟
var 对象= {
    '键': '值'
};
console.log(对象['键']);

这样也是可以的。但是编程用英文更好吧。

迷茫

没事的呀 只是为什么要这么做呢

Ty80

并没有什么不好,底层存的都是字符编码而已。
你可以试试用Map对象,更加完善的键值对,键类型可以为任一类型

小葫芦

谢谢邀请,这样可以用

伊谢尔伦

js是基于Unicode的,只要符合这个编码就可以

var 哈哈 = 1;
console.log(哈哈);

这是合法的

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal