来自变量的 Javascript 属性

Javascript property from variable

本文关键字:属性 Javascript 自变量      更新时间:2023-09-26

我的JavaScript代码有问题。我现在从一些更复杂的事情开始,似乎在网上找到了一些答案,但不幸的是我无法修复它。问题是:

我希望变量 sGetMobileFieldValMob 进入参数,但像这样它不起作用:

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 ValueValMobvalMob