我的 JavaScript 代码有问题。我现在从一些更复杂的事情开始,似乎在网上找到了一些答案,但不幸的是我无法修复它。问题是:
我想要变量sGetMobileField
并ValMob
获取参数,但是像这样它不起作用:
var oFieldValues = { sGetMobileField:) { Value: ValMob } };
变量似乎不能用作对象属性。任何人都可以帮我解决它吗?
谢谢,戴恩
我的 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 中,您可以使用方括号表示法而不是点表示法。这意味着,您可以使用字符串访问属性。因此,例如:
console.log("Hello");
是相同的:
console["log"]("Hello");
因此,您可以使用变量的值来指定要访问的对象的属性。在你的情况下:
var oFieldValues = {};
oFieldValues[sGetMobileField] = { Value: ValMob };
请注意,遵循 JS 中通常使用的命名约定,Value
应该是value
并且ValMob
应该是valMob
.