如何使用以下语法将数组添加为属性?

时间:2011-09-15 16:21:21

标签: javascript json

var Items = {
    FormVariables: function()
    {
        if (this.array === 'undefined')
        {
           this.array = [];
        }
        return this.array;
    }
};

这是我的尝试,我得到一个错误,它是未定义的。我是否可以像我正在尝试的那样在Items范围内拥有变量。如果是这样,语法是什么样的?

我只是问这是否可以使用var variableName = {}语法来完成。

编辑:

访问它

    var formVars = new Array();
    formVars.push('[');
    for (var item in gd["FormVariables"])
    {
        formVars.push('"' + item + '":"' + gd["FormVariables"][item] + '"');
    }
    formVars.push(']');

这里的真正目标是获取所有这些项目并将其转换为键/值对的JSON数组

1 个答案:

答案 0 :(得分:1)

是的,您可以使用[][]new Array的快捷方式,就像{} new Object一样。

this.array = [];

顺便说一下,没有'编译错误',因为JavaScript不是编译语言,而是解释的语言。

此外,您的检查没有多大意义。你可能想要:

if (typeof this.array === 'undefined')

因为typeof返回一个字符串。检查字符串'undefined'与检查“真实”undefined不同。对于字符串,它必须已明确设置为这些字符,这几乎不是这种情况。