Tianium或Javascript:在同一个对象创建中使用花括号获取上述属性的值
我希望能够让idlength属性接受id的属性Tianium或Javascript:在同一个对象创建中使用花括号获取上述属性的值,javascript,class,properties,titanium,inheritance,Javascript,Class,Properties,Titanium,Inheritance,我希望能够让idlength属性接受id的属性 var aclass = {id:1234, idlength:this.id*2,}; alert (aclass.idlength); 但是我得到的错误是没有定义id。怎么了? idlength:this.id*2有效吗?如果使用对象文字符号来创建对象,则指定的值不能引用同一对象中的其他属性-在计算整个文字后,该对象才存在 您可以这样做: var aclass = {id:1234}; aclass.idlength = aclass.id
var aclass = {id:1234, idlength:this.id*2,};
alert (aclass.idlength);
但是我得到的错误是没有定义id。怎么了?
idlength:this.id*2有效吗?如果使用对象文字符号来创建对象,则指定的值不能引用同一对象中的其他属性-在计算整个文字后,该对象才存在 您可以这样做:
var aclass = {id:1234};
aclass.idlength = aclass.id * 2;
alert (aclass.idlength);
其中,基本上使用对象文字来创建不依赖于其他属性的任何属性,然后分别指定其他属性
或者,您可以执行以下操作:
var idVal = 1234,
aclass = {
id : idVal,
idlength : idVal * 2
};
将属性指定为与已定义的其他变量相等是没有问题的
另外,我不会在最后一个属性后面留下逗号,因为有些浏览器不喜欢它。(我同意他们的观点)为什么后面逗号是坏东西?正如我所说的,有些浏览器不喜欢它,也就是说,他们认为这是一个错误,所以代码不能运行。您可能会认为,如果您没有针对这些浏览器,这并不重要,但如果您养成了不留下尾随逗号的习惯,那么您就永远不必担心。