㈠ js判斷對象的幾種方法
1、for in 循環
eg:var obj = {}
var b = function () {
for (var key in obj) {
return false;
}
return true;
}
console.log(b()); // true
2、對象序列化(將對象轉換為字元串)後進行判斷
eg:var data = {};
var b = (JSON.stringify(data) == "{}");
console.log(b); // true
3、jquery的isEmptyObject()方法
eg: var data = {};
var b = $.isEmptyObject(data);
console.log(b); // true
4、Object.getOwnPropertyNames()方法
eg: var data = {};
var arr = Object.getOwnPropertyNames(data);
console.log(arr.length == 0); // true
5、ES6中的Object.keys()方法
eg: var data = {};
var arr = Object.keys(data);
console.log(arr.length == 0); // true
㈡ js判斷對象是否為空對象的幾種方法
1.將json對象轉化為json字元串,再判斷該字元串是否為"{}"
var data={};
var b=(JSON.stringify(data) =='春升{}');
if(b==true){
console.log('是的')
}else{
console.log('不是')
}
2.for in 循環判斷
var obj = {};
var b = function() {
for(var key in obj) {
return false;
}
return true;
}
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
6.Object.keys(res.data.list).map(id => {
let bankList = {
code: id,
text: res.data.list[id]
};
this.columns.push(bankList)
});
㈢ js中for循環和while循環在使用的時候有何區別
for用於可預測循環次數的情況,而while可在不確定循環次數時使用,while甚至可以不在循環指令上指定跳出循環的條件。應該優先考慮for循環,一般情況下for循環的效率都是最高的。
㈣ JavaScript(JS) 判斷沒有屬性的空對象{}的四種方法
在JavaScript環境中,初始化對象而未賦予屬性時,可使用{}進行。這使得判斷這類空對象變得不甚直觀。本文旨在介紹四種JavaScript方法,以判斷沒有屬性的空對象。同時,通過示例代碼,詳細解析每種方法的實現過程。
首先,通過JSON.stringify()方法實現判斷。將對象轉換為JSON字元串後,基於字元串判斷對象的空性。然而,值得注意的是,此方法對於對象屬性的枚舉或繼承特性存在局限。
其次,採用for...in循環遍歷對象所有可枚舉屬性(除Symbol外)。當對象存在屬性時,循環終止並返回false;反之,循環完成則返回true,表示對象為空。
接著,利用Object.getOwnPropertyNames()方法。此方法返回對象所有可枚舉和不可枚舉屬性(不含Symbol)的屬性名數組。通過判斷數組長度,即可確認對象是否為空。
最後,依賴Object.keys()方法。作為ES5新增功能,該方法返回對象自有的可枚舉屬性(不含繼承和Symbol屬性)數組。同樣,基於數組長度判斷對象是否為空。
綜上所述,針對判斷沒有屬性的空對象,四種方法分別利用JSON轉換、循環遍歷、屬性名數組和可枚舉屬性數組。通過實踐示例,開發者可靈活選擇適合場景的判斷策略。