var foo = { '键': '值' }
设计了一个mapping对象,键名必须是中文,foo['键']是可以娶到数据的,那么这样做有什么不好的地方吗?还是用正则表达式比较好?
foo['键']
闭关修行中......
我来说个不好之处。
如果这段代码在单独一个 js 文件里,而不是嵌入在HTML里面。那么当浏览器错误的识别这个js文件的编码的时候,其他地方的 js foo['键'] 是 undefined。
undefined
比如 a.js保存成 GB2312
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(对象['键']);
这样也是可以的。但是编程用英文更好吧。
没事的呀 只是为什么要这么做呢
并没有什么不好,底层存的都是字符编码而已。你可以试试用Map对象,更加完善的键值对,键类型可以为任一类型
谢谢邀请,这样可以用
js是基于Unicode的,只要符合这个编码就可以
var 哈哈 = 1; console.log(哈哈);
这是合法的
我来说个不好之处。
如果这段代码在单独一个 js 文件里,而不是嵌入在HTML里面。
那么当浏览器错误的识别这个js文件的编码的时候,其他地方的 js
foo['键']
是undefined
。比如
a.js
保存成 GB2312
i.html
保存成 utf-8
这样就有可能出问题(我说有可能因为浏览器会自动试图识别正确的编码,服务器也会试图识别正确的编码作为HTTP头发送给浏览器)
所以如果是单独在一个 js 文件里写中文的话,一般写成
没什么不好
然而这跟正则有什么关系。。
这样也是可以的。但是编程用英文更好吧。
没事的呀 只是为什么要这么做呢
并没有什么不好,底层存的都是字符编码而已。
你可以试试用Map对象,更加完善的键值对,键类型可以为任一类型
谢谢邀请,这样可以用
js是基于Unicode的,只要符合这个编码就可以
这是合法的