简体   繁体   English

Javascript:array.push未定义

[英]Javascript: array.push is undefined

I have my code: 我有我的代码:

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

When I run it I get an error: 当我运行它时,我得到一个错误:

Uncaught TypeError: undefined is not a function 未捕获的TypeError:undefined不是函数

on Line 12 which is name.push(nam); 在第12行,即name.push(nam);

I have looked around but I am not sure what I am doing wrong. 我环顾四周,但不确定自己做错了什么。 Help appreciated. 帮助表示赞赏。

This is an interesting one. 这是一个有趣的。 It all boils down to an unfortunate choice of variable name. 归结为不幸的变量名选择。 Unfortunately name is a property of the window object. 不幸的是, namewindow对象的属性。 When you refer to name you are actually referring to window.name, not the array called name . 当您引用name您实际上是在指window.name,而不是namename的数组。 If you rename name to something else, it should work just fine. 如果您将namename为其他name ,则应该可以正常工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM