coffeescript/javascript 中的其他对象属性可以动态添加到现有对象吗?
Can additional object properties in coffeescript/javascript be added dynamically to an existing object?
是否可以将 coffeescript/javascript 中的其他对象属性动态添加到现有对象中?
例如:
var fred = { name: "Fred", species: "Sub-Human" };
现在以后比如我要加大学专业得到这个:
{ name: "Fred", species: "Sub-Human", major: "Computer Science" }
还有...这对性能有何影响?
是;
fred["major"] = "Computer Science";
可以使用方括号和 属性 名称访问对象的所有属性。此方法还允许您设置新属性。
fred.major = "Computer Science";
这也可以正常工作。
当然,JavaScript 对象是完全动态的。
您可以将点符号与 属性 名称文字一起使用:
fred.major = "Computer Science";
或带有 属性 名称字符串的括号表示法:
fred["major"] = "Computer Science";
文字可以通过 JavaScript 引擎进行更多优化,字符串可以是任何表达式的结果(因此,fred["m" + "ajo" + "r"] = ...
可以)并且可以包含字符(例如空格——是的,真的—— ) 不能在 属性 名称文字中使用。
我建议学习一些基础 JavaScript 教程(如果你想学习 JavaScript)或 CoffeeScript 教程(如果你想学习 CoffeeScript)。
是否可以将 coffeescript/javascript 中的其他对象属性动态添加到现有对象中?
例如:
var fred = { name: "Fred", species: "Sub-Human" };
现在以后比如我要加大学专业得到这个:
{ name: "Fred", species: "Sub-Human", major: "Computer Science" }
还有...这对性能有何影响?
是;
fred["major"] = "Computer Science";
可以使用方括号和 属性 名称访问对象的所有属性。此方法还允许您设置新属性。
fred.major = "Computer Science";
这也可以正常工作。
当然,JavaScript 对象是完全动态的。
您可以将点符号与 属性 名称文字一起使用:
fred.major = "Computer Science";
或带有 属性 名称字符串的括号表示法:
fred["major"] = "Computer Science";
文字可以通过 JavaScript 引擎进行更多优化,字符串可以是任何表达式的结果(因此,fred["m" + "ajo" + "r"] = ...
可以)并且可以包含字符(例如空格——是的,真的—— ) 不能在 属性 名称文字中使用。
我建议学习一些基础 JavaScript 教程(如果你想学习 JavaScript)或 CoffeeScript 教程(如果你想学习 CoffeeScript)。