由于普通的实例化一个对象,他们也就继承自Object.prototype原型的属性和方法,而继承的原型对象是没有length属性的,所以使用length属性的结果就是undefined。 我们只能给其原型上添加该属性。
参考案例如下:
var a = {a:1,b:2,c:3,d:4};
Object.prototype.length = function() {
var count = 0;
for(var i in this){
if(this.hasOwnProperty(i)){//如果包含除它的原型本身之外的属性
count++;
};
};
return count;
};
console.log(a.length());
今日寄语:
旧人不知我近况,新人不知我过往。
近况不该旧人知,过往不与新人讲。
纵你阅人何其多,再无一人恰似我。