栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Javascript对象中的键只能是字符串吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Javascript对象中的键只能是字符串吗?

Javascript的内置对象确实使用属性的方括号表示法提供哈希表功能,前提是您的键是字符串或数字

使用点表示法按名称访问属性:

Memberexpression。 标识符名称

Callexpression。 标识符名称

或括号符号:

Memberexpression [表达式]

Callexpression [表达式]

点符号通过以下语法转换进行解释:

Memberexpression。 标识符名称

在行为上与

Memberexpression [ ]

同样

Callexpression。 标识符名称

在行为上与

Callexpression [ ]

其中, _< identifier-name-
string>_是一个字符串文字,其中包含在处理Unipre转义序列后与IdentifierName相同的字符序列。

因此,当使用点表示法时,点后的位必须符合IdentifierName的条件。但是,在使用方括号时,会提供一个 表达式 ,该表达式将求值并解析为字符串。

简要地说,提供了方括号符号,以便可以使用 表达式 访问属性,例如

var y = {};var x = 'foo';y[x] = 'foo value';

在上面,

x
以方括号提供,以便对其进行求值,并返回字符串’foo’。由于此属性尚不存在
y
,因此已添加。然后为的
foo
属性
y
分配一个值’foovalue’。

一般而言,将评估方括号中的 表达式

toString()
调用其方法。该值用作属性名称。

在点属性访问方法中,不评估标识符,因此:

y.bar = 'bar value';

创建一个

bar
具有值的属性
bar value

如果要创建数字属性,则:

y[5] = 5;

将评估

5
,如果发现它不是字符串,则调用(或多或少)
Number(5).toString()
返回字符串
5
,该字符串用于属性名称。然后
5
为其分配值,该值是一个数字。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407963.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号