function isEmptyObject(obj){
for(var n in obj){return false}
return true;
}
var a={"name":{},"phone":{}}
if(isEmptyObject(a.name)){alert("空对象")}
else{
alert("不为空")
}
for(var n in obj){return false}
return true;
}
var a={"name":{},"phone":{}}
if(isEmptyObject(a.name)){alert("空对象")}
else{
alert("不为空")
}
解决方案 »
- 一个选项按钮的js代码不能兼容高速浏览器,请专业高手帮帮忙
- 应用jquery validate,控件太多导致IE提示运行慢
- Ext类的 Method 与 Event 有什么区别?
- DTree 如何设置加载时某个节点展开?
- flex 怎末动态添加进度条?
- DIV INNERHTML 的问题?
- 网页插入的播放器代码 ,播放不了AVI的视频.
- 动态表格如何合并
- 难!!请教大家如何实现在客户端frame中某个frameset的url的改变呢(即javascript实现url后加参数字符串!)
- 请问一下那里有精典的源程序(Javascript)下载,包括数据库的操作
- 急急急!IE和ipad浏览器的区别
- 如何从字符串的第一个字母开始匹配?
for(var n in o){ return false;
}
return true;
}var a={"name":{},"phone":{}}
if(isEmptyObject(a.name)){alert("yes")}
else{
alert("no")
}//只针对你上面的情况
所以你那种判断方式显然是错误的你这种情况应该根据对象的成员来判断,比如name对象本来应该具备什么成员,但没有,你认为该对象为“空”
var c = a.name;
var b = false;
for(var p in c)
{
b =true;
break;}
if(b)
{
//你所谓的非空的时候
}
else
{
//所谓空的时候
}
/*
* 检测对象是否是空对象(不包含任何可读属性)。 //如你上面的那个对象就是不含任何可读属性
* 方法只既检测对象本身的属性,不检测从原型继承的属性。
*/
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;
};
还有一点你要弄清楚:null, {}, undefined 这三都之间的差别..
var a = {"name":{},"phone":{}}a.name这个属性是没有值,(name此时也是一个对象)..
PS:俺上午回了贴的,为什么看不到自己的回贴??????
function isEmptyObject(obj){
for(var n in obj){return false}
return true;
}
var a={"name":{},"phone":{}}
if(isEmptyObject(a)){alert("空对象")}
else{
alert("不为空")
}