Javascript 访问和创建对象的首选方式';谁的财产?
在Javascript中,您可以通过以下方式使用属性Javascript 访问和创建对象的首选方式';谁的财产?,javascript,Javascript,在Javascript中,您可以通过以下方式使用属性名称创建对象: var person = { name: "Tucker" }; 但也是这样: var person = { "name": "Tucker" }; 这两个相等吗?哪一个比较好 访问属性也是如此: person["name"] = "Dale"; vs 在雄辩的JavaScript中,作者说括号之间的部分可以是任何表达式。将其转换为字符串以确定其引用的属性名称。 所以,我想直接在括号之间放一个字符串会被认为是最佳实践 最后
名称创建对象:
var person = { name: "Tucker" };
但也是这样:
var person = { "name": "Tucker" };
这两个相等吗?哪一个比较好
访问属性也是如此:
person["name"] = "Dale";
vs
在雄辩的JavaScript中,作者说括号之间的部分可以是任何表达式。将其转换为字符串以确定其引用的属性名称。
所以,我想直接在括号之间放一个字符串会被认为是最佳实践
最后但并非最不重要的一点是,可以使用点符号访问属性:
person.name = "Dale";
person.name
如果属性是有效的变量名。与看似更灵活的括号表示法相比,使用这种表示法真的有意义吗?这些都是相同的,唯一的区别是,如果您的键是保留关键字,则需要引号:
var person = { name: "Tucker" };
var person = { "name": "Tucker" };
var person = { "for": "Tucker" }; //Need quotes here
访问时,应用相同的规则
person["name"] = "Dale"; //Sets the person object's name attribute to "Dale", the brackets are needed for variables or expressions.
person.name = "Dale"; //Same operation, different syntax
person[name] = "Dale"; //Sets the attribute equivalent to the value of the variable name, not necessarily "name"
与看似更灵活的括号表示法相比,使用这种表示法真的有意义吗
这完全取决于您,或者决定项目编码标准的人。点表示法更简单,让人想起Java/C/C++(如果你喜欢这类东西的话),正如你所说的,括号更灵活 这些都是相同的,唯一的区别是,如果您的关键字是保留关键字,则需要引号:
var person = { name: "Tucker" };
var person = { "name": "Tucker" };
var person = { "for": "Tucker" }; //Need quotes here
访问时,应用相同的规则
person["name"] = "Dale"; //Sets the person object's name attribute to "Dale", the brackets are needed for variables or expressions.
person.name = "Dale"; //Same operation, different syntax
person[name] = "Dale"; //Sets the attribute equivalent to the value of the variable name, not necessarily "name"
与看似更灵活的括号表示法相比,使用这种表示法真的有意义吗
这完全取决于您,或者决定项目编码标准的人。点表示法更简单,让人想起Java/C/C++(如果你喜欢这类东西的话),正如你所说的,括号更灵活 没有“最佳方法”,这取决于你在做什么
var person = { name: "Tucker" };
可以,但如果“name”实际上是“name with a space”,则需要:
var person = { "name with a space": "Tucker" };
用于访问属性,除非您处于。。。在循环中,我建议使用点符号:
person.name = "Dale";
person.name
当然你不能这样做:
person."name with a space"
我们也要这样做:
person["name with a space"]
没有“最佳方式”,这取决于你在做什么
var person = { name: "Tucker" };
可以,但如果“name”实际上是“name with a space”,则需要:
var person = { "name with a space": "Tucker" };
用于访问属性,除非您处于。。。在循环中,我建议使用点符号:
person.name = "Dale";
person.name
当然你不能这样做:
person."name with a space"
我们也要这样做:
person["name with a space"]
每次我都可以使用person.name;当我需要通过变量名访问时使用person[name],每次我都可以使用person.name;需要通过变量名访问时使用person[name]