使用push函数将项添加到数组中

时间:2017-05-19 21:34:05

标签: javascript

screenshot

有人可以验证我哪里出错吗?

4 个答案:

答案 0 :(得分:2)

addTodos参数todos将覆盖全局todos,因此只需将其重命名为其他内容即可。见下面的例子

var todos = ['1','2','3'];

function display() {
 console.log(todos)
}

function addTodos(todo) {
 todos.push(todo)
 display()
}

addTodos('4')

答案 1 :(得分:1)

您的代码遇到的问题是,您创建了一个全局变量var todos,同时在addTodos函数中添加了一个参数todos,JavaScript正在访问你的函数参数不是全局变量,

现在将全局变量的名称更改为var myTodos以避免冲突

希望这有帮助

答案 2 :(得分:0)

todos是一个字符串,而不是发生错误的数组。

string类型没有push方法。此外,首先在本地范围内找到本地待办事项,因此它会掩盖阵列版本。

答案 3 :(得分:0)

不确定你是否已经意识到,你正在发送一个名为todos的论据。您实际上是在覆盖之前设置的todos数组。用新变量名替换它可以解决问题

function addTodos(newTodo) {
  todos.push(newTodo);
}