.push不是一个功能

时间:2016-07-06 16:29:14

标签: javascript google-chrome exception-handling typeerror

var name = [];

function logger(names) {
  if (typeof names === "string") {
    console.log(names);
  } else if (typeof names === "object") {
    for (var name in names) {
      console.log(names.names);
    }
  }
}

function namesIn(namesData, functionality) {
  name.push(namesData);
  functionality(namesData);
}

namesIn({
  names: ["Michael", "Sally", "Billy", "Dinesh", "Zach"]
}, logger);

当我去查看我的登录Chrome时,我遇到了这个特别错误的消息,这令人费解:" TypeError:name.push不是函数"。

有什么问题?

2 个答案:

答案 0 :(得分:0)

因为您在for循环中重新声明了名称。而name现在是一个String,它不支持.push。

如果您在for循环中使用let name而不是var name,它应该有用。

答案 1 :(得分:0)

=AND(A1=3, AND(B1=6, C1=99))

问题的根源是在for循环中,我重新声明了我的名字变量!

我还将变量名称更改为可读性的名称。