js判斷對象是否為空對象的幾種方法
1.將json對象轉化為json字符串,再判斷該字符串是否為"{}"
var data = {};
var b = (JSON.stringify(data) == "{}");
alert(b);//true
2.for in 循環判斷
var obj = {};
var b = function() {
for(var key in obj) {
return false;
}
return true;
}
alert(b());//true
3.jquery的isEmptyObject方法
此方法是jquery將2方法(for in)進行封裝,使用時需要依賴jquery
var data = {};
var b = $.isEmptyObject(data);
alert(b);//true
4.Object.getOwnPropertyNames()方法
此方法是使用Object對象的getOwnPropertyNames方法,獲取到對象中的屬性名,存到一個數組中,返回數組對象,我們可以通過判斷數組的length來判斷此對象是否為空
注意:此方法不兼容ie8,其余瀏覽器沒有測試
var data = {};
var arr = Object.getOwnPropertyNames(data);
alert(arr.length == 0);//true
5.使用ES6的Object.keys()方法
與4方法類似,是ES6的新方法, 返回值也是對象中屬性名組成的數組
var data = {};
var arr = Object.keys(data);
alert(arr.length == 0);//true
JS 的 _.isEmpty()函數使用
判斷函數入參值是否為空,只能用於字符型(string)、對象(object)、數組(array)不適用於數值型和布爾型,舉例說明:
1、空值: null、‘’、undefined 返回都是true 。Ex:
_.isEmpty(null) , _.isEmpty('') , _.isEmpty(undefined) 判斷結果都是true
2、boolean類型 true、false 返回都是true 。Ex:
_.isEmpty(true) , _.isEmpty(false) 判斷結果都是true
_.isEmpty('true') , _.isEmpty('false') 將參數視為字符串判斷結果都是false
3、number類型 0、1、2 返回都是true。Ex:
_.isEmpty(0) , _.isEmpty(1) , _.isEmpty(2) 判斷結果都是true
_.isEmpty('0') , _.isEmpty('1') , _.isEmpty('2') 判斷結果都是fals