递归遍历JS的对象的每个属性
2015-11-21 15:57
531 查看
递归遍历JS的对象的每个属性
1)使用constructor
<span style="font-size:14px;">var model = { fullName: { firstName: 'paradise', lastName: 'fang' }, age: 25, sex: 'female', array : [1,2,3] }; buildModel(model); function buildModel(model) { for (var i in model) { if (model[i] != null) { if (model[i].constructor == Object) { buildModel(model[i]); } else { console.log(i + "\t" + model[i]); } } } }</span>
结果如下图:
这里使用了constructor,而不是typeof
constructor判断对象的类型,会比typeof更精确,constructor能获取一些复杂对象的类型,typeof做不到。
http://jingyan.baidu.com/article/a681b0de331a733b18434628.html
2)使用typeof
<span style="font-size:14px;">var model = { fullName: { firstName: 'paradise', lastName: 'fang' }, age: 25, sex: 'female', array : [1,2,3] }; buildModel(model); function buildModel(model) { for (var i in model) { if (model[i] != null) { if (typeof model[i] == "object") { buildModel(model[i]); } else { console.log(i + "\t" + model[i]); } } } }</span>
结果如下
相关文章推荐
- DropZone.js入门
- jsp 上传文件
- 操作符、语句、函数——Javascript高级程序设计
- JS七种加密解密方法
- 02 计算字符串表达式 [类似于js eval函数]
- 超详细的javascript数组方法汇总
- JS中offsetLeft,Left,clientLeft的区别
- HTML5 JavaScript3D游戏引擎和框架
- javascript实现动态统计图开发实例
- js控制json对象、json数组总结
- ResultSet与JSON之间的转化
- JS:offsetWidth\offsetleft 等图文解释
- js清除缓存方法
- servlet&jsp 输入输出流
- KnockOut JS 学习中遇到的几个问题
- js实现索引图片切换效果
- HTML5、JavaScript 3D游戏引擎和框架
- HTML5、JavaScript 3D游戏引擎和框架
- javascript对闭包的理解
- js浏览器兼容问题总结及解决办法