JS 实现获取对象属性个数的方法小结
作者:书香水墨
这篇文章主要介绍了JS 实现获取对象属性个数的方法,结合实例形式总结分析了JS 获取对象属性个数的三种常用方法,需要的朋友可以参考下
一、方法一
var attributeCount = function(obj) {
var count = 0;
for(var i in obj) {
if(obj.hasOwnProperty(i)) { // 建议加上判断,如果没有扩展对象属性可以不加
count++;
}
}
return count;
}
var testObj = {
name1: "value1",
name2: "value2"
};
alert(attributeCount(testObj)); // 2二、方法二
function TestObj(name, age) {
this.name = name,
this.age = age
}
TestObj.prototype.proCount = function() {
var count = 0
for(pro in this) {
if(this.hasOwnProperty(pro)) { // 这里扩展了对象,所以必须判断
count++;
}
}
return count;
}
var testObj = new TestObj('名称', 12);
alert(testObj.proCount()); // 2三、方法三
var testObj = {
name1: "value1",
name2: "value2"
};
alert(Object.getOwnPropertyNames(testObj).length); // 2感兴趣的朋友可以使用本站在线工具:http://tools.jb51.net/code/HtmlJsRun 测试上述代码运行效果!
笔者在开发过程中比较常用的是第三种方法,通过getOwnPropertyNames返回对象所有属性,直接计算属性的长度,避免了js遍历相关操作。
