对象属性赋值

时间:2017-02-16 21:57:33

标签: javascript object properties

Code Academy表示有两种方法可以在JavaScript中创建对象。

1。对象文字符号

var myObject = {     
    key: value,     
    key: value,    
    key: value 
};

2。对象构造函数方法

var myObject = new Object();

然后可以添加密钥:

myObj["name"] = "Charlie"; 
myObj.name = "Charlie"; //shorthand for the first

当被要求创建3个对象时,我尝试了不同的方法来生成具有相同值的对象,但是使用上面提供的模板我收到错误。我的代码粘贴在下面:

var object1 = {
    1: 2,
    7: 3,
    4: 5
};

var object2 = new Object();
object2['1'] = 2;
object2['7'] = 3;
object2['4'] = 5;

var object3 = new Object();
object3.1 = 2;
object3.7 = 3;
object3.4 = 5;

Code Academy给了我一个错误,并弄清楚它到底在哪里,我使用了Chrome的控制台。在Chrome控制台上单独绑定每个对象,可以创建object1object2,但不能创建object3,这会产生错误:Uncaught SyntaxError: Unexpected number

object3的代码更改为(将密钥从数字更改为字符串):

var object3 = new Object();
object3.'1' = 2;
object3.'7' = 3;
object3.'4' = 5;

产生错误:Uncaught SyntaxError: Unexpected string

是否可以使用此模板/布局创建object3以生成object1的值,或者密钥永远不能是数字或字符串?字符串,但不是密钥的数字,用于创建object2

1 个答案:

答案 0 :(得分:2)

使用点符号时,键的名称应与变量的名称相同(以字母或_开头,仅包含字母,数字和_

如果密钥无效用作点表示法,则可以使用括号表示法来使用它:

obj["key goes here"];

由于174对点表示法无效,因此将它们用作键的唯一方法是:obj["4"] ...

这是关于对象基础知识的MDN page

示例:

这些键对点表示法有效:

abc;
_a;
R2D2;
_;
_0;
a________a;

不是:

k-ey;
a b a;
99;
k.e.y;
@@;