2014-11-23 29 views
0

我有我的代碼:的Javascript:的Array.push未定義

var name = []; 
var mark1 = []; 
var mark2 = []; 
var mark3 = []; 
var total = []; 
count = 0 
count2 = 0 
var i = 0; 
while (count != 2) { 
    var nam = prompt("Enter name:") 
    name.push(nam); 
    var mk1 = prompt("Enter mark 1:"); 
    var mk1 = parseInt(mk1); 
    mark1.push(mk1); 
    var mk2 = prompt("Enter mark 2:"); 
    var mk2 = parseInt(mk2); 
    mark2.push(mk2); 
    var mk3 = prompt("Enter mark 2:"); 
    var mk3 = parseInt(mk3); 
    mark3.push(mk3); 
    var tot = mk1 + mk2 + mk3; 
    total.push(tot) 
    count = count + 1 
    console.log(mk1 + mk2 + mk3); 
    console.log(nam); 
    console.log("the count is " + count) 
}; 

當我運行它,我得到一個錯誤:

Uncaught TypeError: undefined is not a function

在第12行是name.push(NAM);

我環顧四周,但我不知道我做錯了什麼。幫助讚賞。

+0

我無法用您的代碼重現該錯誤。 – Quentin 2014-11-23 18:34:53

+0

尋求幫助時一件重要的事情是確保您的代碼正確縮進。人類喜歡能夠輕鬆地閱讀事物。另一個是確認這真的是錯的。如果我們把這段代碼放到jsbin.com或jsfiddle.net中,它就可以正常工作 – 2014-11-23 18:35:12

+0

這裏沒有任何錯誤:http://jsfiddle.net/6yjwh1a5/ – BeNdErR 2014-11-23 18:35:24

回答

9

這是一個有趣的。這一切歸結爲變量名的不幸選擇。不幸的是namewindow對象的屬性。當您參考name時,實際上是指window.name,而不是稱爲name的數組。如果您將name重命名爲其他內容,它應該可以正常工作。

+0

謝謝,修復它! – crablab 2014-11-23 21:17:11