开发者问题收集

Javascript:array.push 未定义

2014-11-23
4673

我有我的代码:

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);

我查看了一下,但不确定我做错了什么。感谢帮助。

1个回答

这是一个有趣的问题。归根结底,这是由于变量名选择不当。不幸的是, namewindow 对象的属性。当您引用 name 时,您实际上指的是 window.name,而不是名为 name 的数组。如果您将 name 重命名为其他名称,它应该可以正常工作。

Matthew Sant
2014-11-23