js目前没有一个明确的方法去判断对象是否存在,尤其是出现多级属性(对象)的情况,一旦一个不存在的属性跨级取,就会报错“undefined”,因此考虑封装一个通用的方法去专门检测:
//如果存在属性返回true,反之返回false
function checkObjProperty (obj,tree) { if(!obj || obj == 'undefined' || obj == undefined){ return false; } var arr = tree.split("."); var tempObj = obj; for (i=0;i<arr.length ;i++ ) { if(tempObj[arr[i]] == undefined){ return false; }else{ tempObj = tempObj[arr[i]]; } } return true; }