js定义对象时属性名是否加引号问题
js定义对象时属性名是否加引号问题
1.在JavaScript中,加引号与不加引号都是一样用,都是有效的。
var person1 = {name:'pca',age:12
};
alert(person1.name); //pca
alert(person1['name']);//pcavar person2 = {'name':'pca',age:12
};
alert(person2.name); //pca
alert(person2['name']);//pca
2.但是当使用非合法命名规则的时候,就必须要使用引号,
还需要注意的是,如果加上引号,使用 “.属性名”: 方式读取属性时仍然会出错,需要使用 “[‘属性名']”: 方式读取属性
var person = {'first-name':'pca',age:12
}console.log(person.first-name);//NaN
console.log(person['first-name']);//pca