1、JSON.stringify 兼容ie8
2、Object.getOwnPropertyNames 或者 Object.keys 兼容ie9
3、循环判断 isEmptyObj 全兼容
4、利用其他库判断如:jq类似
var obj = {name:1};
//兼容ie8
if(JSON.stringify(obj) == "{}"){
console.log('JSON.stringify方法:is empty');
}else{
console.log('JSON.stringify方法:not empty');
}
// 兼容ie9
if(Object.getOwnPropertyNames(obj).length == 0){
console.log("Object.getOwnPropertyNames方法:is empty")
}else{
console.log("Object.getOwnPropertyNames方法:not empty")
}
// 或者 兼容ie9
if(Object.keys(obj).length == 0){
console.log("Object.keys方法:is empty")
}else{
console.log("Object.keys方法:not empty")
}
function isEmptyObj(obj){
for(key in obj){
if(key){
return "for循环方法:not empty"
}
}
return "for循环方法:is empty"
}
console.log(isEmptyObj(obj));
本文介绍了几种检测JavaScript对象是否为空的方法,并确保这些方法在不同版本的Internet Explorer浏览器中也能正常工作。具体包括使用JSON.stringify、Object.getOwnPropertyNames及Object.keys等API进行兼容性处理。
1万+

被折叠的 条评论
为什么被折叠?



