[英]Javascript/jQuery - “Cannot call method 'push' of undefined” while it IS defined
在一個簡單的腳本中,它通過一些表單字段,獲取用戶輸入並將其存儲到數組中,我遇到了問題。
當我這樣做時它起作用:
var q1A = parseFloat($('#q1-1').val());
if(isNaN(q1A)) {
var q1A = 0;
}
parameter.push(' ');
answers.push(q1A);
但是現在我添加了另一個數組,在這種情況下,該數組應該簡單地存儲相同的q1A變量。 但是不知何故,我最終出現了“ Uncaught TypeError”,指出變量未定義! 新的代碼塊是:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.