Heim > Fragen und Antworten > Hauptteil
var foo = {
'键': '值'
}
设计了一个mapping对象,键名必须是中文,foo['键']
是可以娶到数据的,那么这样做有什么不好的地方吗?还是用正则表达式比较好?
ringa_lee2017-04-11 12:13:05
我来说个不好之处。
如果这段代码在单独一个 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"}