JS各种非空和取值封装

//是否包含该属性
function isAttr(obj,attr){
	if(isObject(obj)&&obj.hasOwnProperty(attr)){
		return true;
	}
	return false;
}


//是否是空
function isNull(value){
	if((value === null|| value === undefined || value === "" || value.length===0)
		&& ((typeof(value)) !== "number" && (typeof(value)) !== "boolean")){
			return true;
	}
	return false;
}

//是否是Object
function isObject(value) {
	if (!isNull(value)&&value && typeof (value) === "object") {
		return true;
	} else {
		return false;
	}
}

//返回对象中的属性,支持多级,
//案例:getVal(obj,"detail.users.0.nickName","");//获取detail属性中的users数组中的第0个元素的nickName,默认返回空字符串
function getVal(obj,expression,defVal){
	var exps = expression.split("\.");
	var nowObj = obj;
	if(!isObject(nowObj)){
		return defVal;
	}
	var explength = exps.length;
	for(var i=0;i<exps.length;i++){
		var exp = exps[i];
		if(i == explength-1){
			if(isObject(nowObj)&&isAttr(nowObj,exp)){
				return nowObj[exp];
			}
		}else{
			if(isObject(nowObj)&&isAttr(nowObj,exp)){
				nowObj = nowObj[exp];
			}else{
				break;
			}
		}
	}
	return defVal;
}

//返回对象中的属性,支持多级,无属性则返回null
//案例:getVal(obj,"detail.users.0.nickName",null);//获取detail属性中的users数组中的第0个元素的nickName,默认返回null
function getVald(obj,expression){
	return getVal(obj,expression,null);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值