在一个简单的脚本中,它通过一些表单字段,获取用户输入并将其存储到数组中,我遇到了一个问题。
当我这样做时它起作用了:
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);
我在控制台中记录了这个变量,它工作得很好,它被设置并且有一个值。知道为什么它说它是未定义的吗? 'answers' 数组存储值就好了。
提前致谢!
编辑:
我当然定义了变量。我只是没有发布那部分代码...
var groups = new Array();
var questions = new Array();
var input = new Array();
var parameter = new Array();
var answers = new Array();
var amounts = new Array();
最佳答案
由于可以将 undefined variable 毫无错误地压入数组,问题一定是当您尝试调用 push()
时 input
未定义
这个问题的通常原因是有另一个地方声明了变量 input
并且它从未在意想不到的地方初始化。
关于Javascript/jQuery - "Cannot call method ' 未定义的推送'当它被定义时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11882650/