Javascript/jQuery - “无法调用未定义的方法'push'”,而它是定义的

Javascript/jQuery - "Cannot call method 'push' of undefined" while it IS defined

本文关键字:push 定义 方法 jQuery 未定义 调用 Javascript      更新时间:2023-09-26

在一个简单的脚本中,它遍历一些表单字段,获取用户输入并将其存储到数组中,我遇到了一个问题。

当我这样做时它有效:

var q1A = parseFloat($('#q1-1').val());
if(isNaN(q1A)) {
    var q1A = 0;
}
parameter.push(' ');
answers.push(q1A);

但是现在我添加了另一个数组,在这种情况下,它应该简单地存储相同的 q1A 变量。但不知何故,我最终得到了一个"未捕获的类型错误",说明变量是未定义的!新的代码块是:

var q1A = parseFloat($('#q1-1').val());
if(isNaN(q1A)) {
    var q1A = 0;
}
input.push(q1A);
parameter.push(' ');
answers.push(q1A);

我在控制台中记录了变量,它工作得很好,它已设置并具有值。知道为什么它说它是未定义的吗?"答案"数组可以很好地存储值。

提前感谢!

编辑:

当然,我定义了变量。我只是没有发布那部分代码...

var groups = new Array();
var questions = new Array();
var input = new Array();
var parameter = new Array();
var answers = new Array();
var amounts = new Array();
由于可以将

未定义的变量推送到数组中而不会出错,因此问题一定是当您尝试对其调用push()时未定义input

此问题的常见原因是在另一个地方声明了变量input,并且从未在意外位置初始化。

首先,您必须定义为数组。

var   input=[];

然后尝试推送元素。

input.push(element);