我的JavaScript代码有问题。我现在从一些更复杂的事情开始,似乎在网上找到了一些答案,但不幸的是我无法修复它。问题是:来自变量的Javascript属性
我想要的变量sGetMobileField
和ValMob
的参数,以获得,但这样它不工作:
var oFieldValues = { sGetMobileField:) { Value: ValMob } };
变量似乎并没有作为一个对象的属性来工作。任何人都可以帮我修复它?
感谢, 丹麦
我的JavaScript代码有问题。我现在从一些更复杂的事情开始,似乎在网上找到了一些答案,但不幸的是我无法修复它。问题是:来自变量的Javascript属性
我想要的变量sGetMobileField
和ValMob
的参数,以获得,但这样它不工作:
var oFieldValues = { sGetMobileField:) { Value: ValMob } };
变量似乎并没有作为一个对象的属性来工作。任何人都可以帮我修复它?
感谢, 丹麦
试试这个
var oFieldValues = { };
oFieldValues[ sGetMobileField ] = { Value: ValMob };
您可以使用变量作为属性标识符,而不是一个对象字面内。您必须先创建对象,然后才可以添加动态属性使用
obj[ varToHoldPropertyName ] = someValue;
首先,语法看起来不正确。我猜sGetMobileField:
之后的“)”是一个错字。但是,你在这里做的是设置一个名为“sGetMobileField”属性:出于同样的原因
var oFieldValues = { sGetMobileField: { Value: ValMob } };
确切说与Value
你设置一个名为“Value”属性,而不是从一个得到它的名字属性Value
变量。这是一致的,对吗?所以,你将有:
console.log(oFieldValues.sGetMobileFields.Value) // the content of ValMob.
幸运的是,在JS,你可以使用方bracked符号,而不是点号的。这意味着,您可以使用字符串访问属性。所以,举例来说:
console.log("Hello");
是一样的:
console["log"]("Hello");
因此,你可以使用一个变量的值来指定对象的属性来访问。你的情况:
var oFieldValues = {};
oFieldValues[sGetMobileField] = { Value: ValMob };
注意以下一般在JS使用的命名约定,Value
应value
和ValMob
应该valMob
。
你是最棒的。非常感谢你! – Dane 2012-07-05 15:19:19