js判断对象是否为空
//判断变量是否为空
function isNull(obj){
const a = getVariableType(obj);
console.log(a)
switch (a) {
case "undefined":
return true;
case "string":
obj = obj.trim();
if (obj=='' || obj==null || obj =="undefined"){
return true;
}else{
return false;
}
case "boolean":
return false;
case "number":
return false;
case "array":
if(obj.length==0){
return true;
}else{
return false;
}
case "json":
var str = JSON.stringify(obj);
if(str=="{}"){
return true;
}else{
return false;
}
case "function":
return false;
case "date":
return false;
default:
return true;
}
}
function isNotNull(i){
return !isNull(i);
}
//获取变量的类型
function getVariableType(obj){
if(obj==null){
return "undefined";
}else{
var type = typeof(obj);
if(type=="object"){
if(obj.constructor==Array){//数组
return "array"
}else if(isDate(obj)){
return "date";
}else if(isJSON (obj)){
return "json"
}else{
return "undefined";
}
}else{
return type;
}
}
}
//判断对象是否是时间
function isDate(obj){
return obj instanceof Date;
}
//判断对象是否是json
function isJSON (obj) {
if (typeof obj == 'string') {
try {
var obj2 = JSON.parse(obj);
if (typeof obj2 == 'object' && obj2) {
return true;
} else {
return false;
}
} catch (e) {
console.log('error:' + str + '!!!' + e);
return false;
}
} else if(typeof obj == 'object'){
if(obj.constructor==Array){
return false;
}else{
try {
var str = JSON.stringify(obj);
return true;
}catch (e) {
console.log('error:' + str + '!!!' + e);
return false;
}
}
}
}