Javascript同时对象和数组创建
|
为什么javascript允许我执行以下操作。
a = {two : \'World\'};
a[1] = \'Hello\';
console.log(a[1]);
console.log(a.two);
输出是
Hello
World
它不应该抱怨我试图将一个对象用作数组吗?顺便说一下,这适用于任何事物
b = new Date();
b[1] = \'Wow\';
console.log(b[1]);
输出是
wow
有这个用吗?在我看来,这是一种不好的编程习惯。
没有找到相关结果
已邀请:
5 个回复
瞥同忙接
但是,使用点符号(
),您只能访问有效的Javascript标识符的属性。这表示: 不能由数字开头的字母数字字符序列,还包括下划线(\“ _ \”)和美元符号(\“ $ \”) 您可以通过这种方式设置任何Javascript对象的属性-数组,对象,Date对象,字符串,数字-因为它们都源自相同的Object类型。
程琶
顺便说一下,这适用于任何事物 是的,同样的原因。 “ 9”返回一个对象,可以通过点或方括号符号将属性分配给该对象。
bab
这些也是:
编辑:正如下面的注释所指出的,上述语法实际上是误导性的,因为在两种情况下
都被转换为字符串-因此从技术上讲,这与
如您在这里看到的:
体悉
如您所见,这些都是对象,一个是从通用对象继承的,另一个是从日期继承的。就像其他任何对象一样,可以为它们分配一个键/值对,其中1只是被转换为字符串。 如果您以这种方式使用它,那肯定是混乱的编码,但这是JavaScript原理的非常重要的说明。有许多有用的方法来扩展语法上与您正在执行的对象相似的对象。
骂陋冠