在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js中,一個(gè)變量預(yù)期是一個(gè)對象,請問如何判斷此變量是否是一個(gè)對象?

js中,一個(gè)變量預(yù)期是一個(gè)對象,請問如何判斷此變量是否是一個(gè)對象?

假設(shè),我需要從后臺數(shù)據(jù)獲取house對象,如果house對象存在的話,就對house對象進(jìn)行處理。我像下面這樣處理合適嗎?

var obj = data.house;//data是后臺傳的數(shù)據(jù)

if(obj){
    //對這個(gè)對象進(jìn)行操作
}

這種方式呢?

var obj = data.house;//data是后臺傳的數(shù)據(jù)

if(typeof obj != undefined){
    //對這個(gè)對象進(jìn)行操作
}
回答
編輯回答
萌吟

data && data.house

2018年4月20日 23:36
編輯回答
裸橙

你這個(gè)方法也行,但是如果這個(gè)值是undefined的話,會報(bào)錯(cuò),建議使用下面兩種方法:

1.使用in操作符
if ("house" in data) {}

2.使用hasOwnProperty方法
if (data.hasOwnProperty("house")) {}

其中hasOwnProperty上不能判斷原型鏈上的屬性

2017年6月19日 12:40
編輯回答
冷咖啡

需注意的是typeof null === "object";
可以用Object.prototype.toString.call(null).slice(8, -1).toLowerCase()獲取具體的type

2018年8月24日 13:40
編輯回答
半心人
if(data.hasOwnProperty('house'){
    var obj = data.house;
}
2017年11月2日 17:15
編輯回答
愿如初
if(obj instanceof Object)
2018年8月30日 12:10