【发布时间】:2016-11-08 19:16:54
【问题描述】:
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 is not a function”。
有什么问题?
【问题讨论】:
-
Using the variable "name" doesn't work with a JS object 的可能重复项— 将代码第一行中的
name重命名为其他名称,并在name.push中相应地进行更改。 -
与声明为全局变量
name的变量有关。name是返回windows 名称的window对象的受限属性。因此错误。请参阅作为副本链接的问题以获得更好的解释
标签: javascript google-chrome exception-handling typeerror