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遍历相关操作。