首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js 判断空对象解决方法

2012-09-22 
js判断空对象JScript codevar a{name:{},phone:{}}if(a.name){alert(yes)}else{alert(no)}怎么判

js 判断空对象

JScript code
var a={"name":{},"phone":{}}if(a.name){alert("yes")}else{  alert("no")}

怎么判断一个空的object?谢谢了

[解决办法]
JScript code
function isEmptyObject(obj){    for(var n in obj){return false}     return true; } var a={"name":{},"phone":{}}if(isEmptyObject(a.name)){alert("空对象")}else{  alert("不为空")}
[解决办法]
function isEmptyObject(o){
for(var n in o){

return false;
}
return true;
}

var a={"name":{},"phone":{}}
if(isEmptyObject(a.name)){alert("yes")}
else{
alert("no")
}

//只针对你上面的情况
[解决办法]
首先需要明确,你所谓空的object并不是空的,因为已经构造的对象占据内存空间,并且已经有了object类的成员,null才是空
所以你那种判断方式显然是错误的

你这种情况应该根据对象的成员来判断,比如name对象本来应该具备什么成员,但没有,你认为该对象为“空”
[解决办法]
发的贴又看不见了??
[解决办法]
JScript code
var c = a.name;var b = false;for(var p in c){ b =true;break;}if(b){//你所谓的非空的时候}else{//所谓空的时候}
[解决办法]
JScript code
/*  * 检测对象是否是空对象(不包含任何可读属性)。 //如你上面的那个对象就是不含任何可读属性 * 方法只既检测对象本身的属性,不检测从原型继承的属性。  */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; };
[解决办法]
补充一下,你在上面定义的那个对象并不是个空对象,只是对象里面的属性值为空,意思就是
var a = {"name":{},"phone":{}}

a.name这个属性是没有值,(name此时也是一个对象)..
[解决办法]
探讨
JScript code

/*
* 检测对象是否是空对象(不包含任何可读属性)。 //如你上面的那个对象就是不含任何可读属性
* 方法只既检测对象本身的属性,不检测从原型继承的属性。
*/
function isOwnEmpty(obj)
{
for(var name in obj)
{
if(obj.hasOwnProper……

[解决办法]
探讨
首先需要明确,你所谓空的object并不是空的,因为已经构造的对象占据内存空间,并且已经有了object类的成员,null才是空
所以你那种判断方式显然是错误的

你这种情况应该根据对象的成员来判断,比如name对象本来应该具备什么成员,但没有,你认为该对象为“空”

[解决办法]
你可以这样写if(null != a.name){...}else{...}

热点排行
Bad Request.