如何在JS中向全局数组添加变量

时间:2014-08-26 13:26:02

标签: javascript jquery

我在JS中有一个简单的代码,当我点击按钮1时,我在控制台日志中看到2个变量varData1和varData2。我想添加第三个变量varData3。当我点击Button2时,我希望第三个值将在数组中,但我什么都没看到。我怎么能这样做?

var parParams = [];

$('#button1').click(function() {
    parParams = {
        varData1 : "eight",
        varData2 : 7,
    };

console.log(parParams["varData1"]);
console.log(parParams["varData2"]);
console.log(parParams["varData3"]);
}

$('#button2').click(function() {
    parParams['varData3']= 77;
}

1 个答案:

答案 0 :(得分:6)

您必须在设置之后查看值,当前您在单击按钮1而不是按钮2时正在查看它。

请注意,按钮2会向现有对象添加值,而按钮1会使用新对象覆盖现有数组。 (因此,如果单击按钮2,然后单击按钮1,则在尝试查看之前,将覆盖包含varData3值的对象。)

听起来你真的想要更像这样的东西:

var parParams = {}; // Object, not array

$('#button1').click(function() {
    // Modify object, don't overwrite it.
    parParams.varData1 = "eight";
    parParams.varData2 = 7;
    examineObject();
}

$('#button2').click(function() {
    parParams['varData3'] = 77;
    examineObject(); // Look at it here, not just when the other button is clicked
}

function examineObject() {
    console.log(parParams);
}