【发布时间】:2016-01-08 13:10:06
【问题描述】:
在Loop through a 'Hashmap' in JavaScript 中,我看到建议使用“for”循环来遍历哈希集合的元素。我实现了,但是下面的代码:
function MyClass(objs)
{
var _objs = objs;
this.showNames = function () {
var s = "Names: ";
for (var obj in _objs) {
s += obj.getName();
}
console.log(s);
};
}
function MyObj(name)
{
var _name = name;
this.getName = function () { return _name; };
}
var mc = new MyClass({ 'M': new MyObj("morning"), 'D': new MyObj("Day") });
mc.showNames();
给出错误:
未捕获的类型错误:obj.getName 不是函数
我做错了什么?
谢谢!
【问题讨论】:
-
强烈建议您养成在 for...in 循环中包含
hasOwnProperty检查的习惯,或者使用Object.keys(myObject).map为您完成检查。
标签: javascript hash