遍历js对象属性
<script type="text/javascript"> var p = { a:'a', e:{ a:'a', c:'c' }, b:'1', c:{ a:2, x:'fffff', y:{ ee:'fff', f:200 } } } ; //遍历js对象属性 var ObjInfo = { /** @param obj 要遍历的对象 @param placeholder 占位符,排版用,如空格 */ info : function(obj,placeholder){ return ObjInfo._info(obj,'',placeholder) ; } , /** @param obj 要遍历的对象 @param tmpPlaceholder 占位符,排版用(初始向后移动的位置) @param placeholder 占位符,排版用 */ _info : function(obj,tmpPlaceholder,placeholder){ var r = '' ; for(var i in obj){ if( ObjInfo.hasChild(obj[i]) ){ r += ObjInfo.getObjDesc(i, ObjInfo._info(obj[i], tmpPlaceholder+placeholder, placeholder), tmpPlaceholder) ; }else { r += ObjInfo.getFieldDesc(i, obj[i], tmpPlaceholder) ; } } return r ; } , hasChild : function(obj){
if( typeof(obj) != 'object' ){
return false ;
}
for(var j in obj){ return true ; } return false ; } , getFieldDesc : function(k,v,tmpPlaceholder){ return tmpPlaceholder+k+':'+v+'\n' ; } , getObjDesc : function(k,v,tmpPlaceholder){ return tmpPlaceholder+k+':{\n'+v+tmpPlaceholder+'}\n' ; } } ; alert(ObjInfo.info(p,' ')); </script>