假设我已经向 Array 类添加了一些原型方法:
Array.prototype.containsKey = function(obj) {
for(var key in this)
if (key == obj) return true;
return false;
}
Array.prototype.containsValue = function(obj) {
for(var key in this)
if (this[key] == obj) return true;
return false;
}
然后我创建了一个关联数组,并尝试循环遍历它的键:
var arr = new Array();
arr['One'] = 1;
arr['Two'] = 2;
arr['Three'] = 3;
for(var key in arr)
alert(key);
这将返回五个条目:
- One - Two - Three - containsKey - containsValue
但我只希望(预期?)得到三个。我的方法是否正确?是否有一种方法可以“隐藏”原型方法?还是我应该采取不同的方法?