Javascript:array.push未定义

时间:2014-11-23 18:32:19

标签: javascript arrays

我有我的代码:

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

当我运行它时出现错误:

  

未捕获的TypeError:undefined不是函数

第12行的

是name.push(nam);

我环顾四周但我不确定我做错了什么。帮助赞赏。

1 个答案:

答案 0 :(得分:9)

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