JSは空の対象かどうかを判断します{}

1547 ワード

判断1.JSON.strigifyを利用する()
if(JSON.stringify(accounts) == "{}"){...}
  : easyui tree 
data-options="onClick: function(node){										console.info(node);
	    // node attribute     ,           ,
	    //    url  ,    2;      ,   1
	    //        node.attributes=={},        ,           ,  __proto__
		var url = JSON.stringify(node.attributes)=='{}'?'':'${pageContext.request.contextPat                            h}'+node.attributes.url;
		addTab({title:node.text,href:url});
														}"
/*      attributes           ,    if(node.attributes.url){flag = true}*/
判断2:循環対象属性を利用する
/* 
 *           (         )。 //                   
 *              ,           。 
 */
function isOwnEmpty(obj) 
{ 
    for(var name in obj) 
    { 
        if(obj.hasOwnProperty(name)) 
        { 
            return false; 
        } 
    } 
    return true; 
}; 
 
/* 
 *           (         )。 
 *             ,           (     hasOwnProperty)。 
 */
function isEmpty(obj) 
{ 
    for (var name in obj)  
    { 
        return false; 
    } 
    return true; 
};
ちなみにJSON.parse()とJSON.strigify()の違いは:
パースは、ある文字列からjsonオブジェクトを解析するために使用されます.
var str='{name}:「huang色」、「age」、「23」
結果:
JSON.parse(str)
Object
  • age: 「23」
  • name: 「hungxia ojian」
  • __proto_: Object
  • 注意:シングル引用符は{}の外に書いてあります.各属性名はダブル引用符を使わなければなりません.
    ストリングスフリー()は、一つのオブジェクトから文字列を解析するために使用されます.
    var a={a:1,b:2}
    結果:
    JSON.stringify(a)
    「{」a":1,"b":2"」