如何使用中文字符或数字作为对象的键,如下所示:
var obj = { ?: 'me', 20: 'you' };
console.log(obj.?); // me
console.log(obj[?]); // -> Reference Error: ? is not defined
console.log(obj[20]); // you
console.log(obj.20); // ->Syntax Error: Unexpected number
Run Code Online (Sandbox Code Playgroud)
为了在对象中使用点表示法,键必须是有效的JavaScript标识符.Mozilla文档网络声明:
您可以在标识符中使用ISO 8859-1或Unicode字母,例如å和ü.您还可以将Unicode转义序列用作标识符中的字符.
事实上,在Firefox中这是有效的语法:
var x = { ?: 5 };
x.?
var ? = 42;
console.log(?);
Run Code Online (Sandbox Code Playgroud)
Chrome也接受了这一点.
如果您的浏览器(或访问者使用的浏览器)不遵循严格的标准,您可以使用:
var obj = { '?': 'me', 20: 'you' };
console.log(obj['?']);
Run Code Online (Sandbox Code Playgroud)
值得注意的是,您可以使用任意字符串作为对象键,即使它们不是有效的JavaScript标识符(例如,包含空格和/或标点符号):
var obj = { " ": "space", ";": "semicolon" };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
592 次 |
| 最近记录: |