js判斷對象是否為空的方法歸納

2020-08-28 魯地那些事

最近在做項目的時候需要判斷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

好了,以上是我的分享,大家有什麼其他好的方式歡迎大家分享交流。有什麼疑問也可以在下面評論討論。

相關焦點

  • 如何在 Node.js 中判斷一個文件是否存在?
    作者:五月君 來源:Nodejs技術棧記錄一些 Node.js 應用中的小知識點,如果你 Google/Baidu 「Node.js 如何判斷文件是否存在」 發現給出的很多答案還是使用的 fs.exists,這裡不推薦使用 fs.exists 你可以選擇 fs.stat 或
  • 在 JavaScript 中如何檢查對象為空
    下面的代碼片段,用於檢查對象是否為空。對於較新的瀏覽器,你可以使用 ES6 的 「Object.keys」。對於較舊的瀏覽器,可以安裝Lodash庫並使用其「 isEmpty」方法。A.在較新的瀏覽器中檢查空對象我們可以使用內置的Object.keys方法檢查空對象。
  • JavaScript(js)對象常用操作
    前臺頁面中,經常使用到JS操作對象,JS是基於對象的腳本語言,屬於弱類型。js數據類型包括:Number,String,Boolean,null,undefined,Object數據類型判斷可以通過一元操作符typeof,此操作符可以判斷大部分JS數據類型。
  • js基礎教程,普通對象和數組對象
    一、普通對象js中的普通對象:無序的鍵值對集合。由大括號包裹起來的{key: value}由零到多組屬性名和屬性值(鍵值對)組成。屬性名可以是數字、字母、或者下劃線等,並且屬性名都是字符串類型的。後面的屬性名不用寫引號,如果使用[],屬性名需要用字符串包裹如果屬性名是數字,只能使用 []方括號裡面還可以寫變量或者表達式如果獲取一個對象不存在的屬性,會得到一個 undefined增加/修改js 對象中的屬性名是不允許重複的,是唯一的如給一個對象的屬性賦值,有兩種情況:如果對象之前不存在這個屬性,那麼就是給這個對象增加一個屬性,值是等號右側的值如果對象之前已經存在這個屬性了,再賦值就是修改對象中的這個屬性的值
  • 第01 篇:Vue.js 很高興認識你
    加點方法接下來我們在 Vue 對象中加點方法,還是上面的例子,只是在 Vue 對象中加了一個方法:var app = new Vue({el: '#app',data: function () {return {value: ''}},// 這是新增的方法methods: {send: function () { alert('
  • 第 1 篇:Vue.js 很高興認識你
    然後我們寫了幾行 js 代碼。在代碼中我們 new(創建) 了一個 Vue 對象,並向這個對象傳遞了一些選項,例如告訴 Vue 掛載的元素(el,即elements 的縮寫)是 id 為 app 的那個 div,並且在 data 中綁定了一個名為 message 的變量,其值為 'Hello Vue!',然後我們就可以在 HTML 文檔中引用這個 message 。
  • JavaScriptp判斷是否為空對象
    /** * JSON.stringify */let a = {};console.log(JSON.stringify(a) === &39;);/** * ES6 */console.log(Object.keys(a).length == 0);/** * Object.keys:返回給定對象的所有可枚舉屬性(key)的字符串數組 */Object.keys({a:1,b
  • JS如何判斷是否是函數
    在本文中,我們將介紹幾種檢查變量是否是函數的方式,以及它們各自的優缺點。 1.typeof 操作符 typeof 操作符返回一個字符串,表示右側操作數的類型。對於函數來說,會返回字符串 「function」。
  • 總結Python編程中遇到的無數個「坑」(None和空對象)
    圖片來自網絡在Python中我們經常會遇到一些判斷某一個數據結構是否為空的時候,一般人可能會這麼寫:if a is not None:<statements>else因此,我們可以判斷空列表和None是兩個不同的對象,在程序中我們經常會遇到判斷數值是否為0、列表是否為空、字符串是否為空字符串等等這樣一些操作,小菜剛剛入門Python的時候肯定也會犯跟上面一樣的錯誤。今天,我們詳細分析一下,看看到底應該如何寫這樣的判斷語句?
  • javascript之常用數據類型及判斷方法
    前端工作者學習之路對於剛開始入門的前端人員來說,javascript中的數據類型是既熟悉又籠統的概念,不論在php,還是c語言抑或java,他們的數據類型都各不相同,大家也千萬不用混淆,今天,我們來具體重新了解下javascript中的常見數據類型以及他們的判斷方法
  • =null)做非空判斷帶你快速上手Optional實戰性理解
    但是修養歸修養,也是我們程式設計師最頭疼的問題之一,那麼我們今天就要儘可能的利用Java8的新特性 Optional來儘量簡化代碼同時高效處理NPE(Null Pointer Exception 空指針異常)2.認識Optional並使用簡單來說,Opitonal類就是Java提供的為了解決大家平時判斷對象是否為空用 會用
  • 提升十倍效率的10個js常用函數
    這篇文章是我的"從零開始構建自己的js庫"系列的最後一篇文章了。這三篇文章提到的一些方法,有一些是我工作中用到的,有一些是我在網上找的比較常用的,有一些則是參考前端領域前輩的方法。但這些僅僅只是javascript語言中的滄海一粟,還有很多諸如Dom操作,對象處理,性能優化等方法我都沒有提及。
  • 怎樣用正則表達式判斷輸入框中是否是車牌號
    我們在製作網頁時,會經常性的遇到判斷輸入框的輸入內容的問題,有時我們會單純的判斷長度,有時既要判斷輸入字符的長度,又要判斷其是否符合規定,下面小漁來教大家一個簡便的方法判斷輸入框中是否為車牌號【新建一個html文件】首先我們需要新建一個html文件,html頁面中主要列出兩個input,一個div,並為其添加相應的樣式即可
  • 黑帽seo防止網站被k的js劫持跳轉代碼
    js劫持主要有「伺服器劫持」以及「用戶端劫持」兩種。「伺服器劫持」伺服器劫持也稱為全局劫持,以修改網站動態語言文本,判斷訪問來源控制返回內容,從來達到網站劫持的目的。服務端劫持的判斷方法:可以通過觀察網站後端代碼,或者通過改變ip,包頭等方式,觀察放回源碼是否不同。也就是改變了每次訪問網頁從服務端獲取到的網頁代碼。
  • Day.js - 輕量化的 Javascript 時間日期庫
    Day.js 改變了 Moment.js 中頗為令人詬病的特性:時間日期對象是可變的。Day.js 所有的 API 操作都返回一個新的 Dayjs 對象,避免了 bug 的產生,節約調試時間。 Day.js 對瀏覽器的有很好的兼容性,支持包括 IE 8, 9 在內的所有現代瀏覽器。
  • js中parse()方法和toJSON()方法的用法
    上節講解了js中處理json的一個很重要的方法:JSON.stringify() ,沒有讀的小夥伴先去看一下文章:這節繼續來講另一個同樣重要的方法,怎麼樣把一個json字符串轉成json中的對象,有轉就有解嘛~~JSON.parse()
  • JS事件循環詳解
    阻塞的問題,js 引入了同步和異步的概念。幀中包含著 bar 的變量對象。bar 調用 foo,foo 做一位第三幀被壓入棧中,幀中包含著 foo 的變量對象。但是,cls1指向的對象實例存放在heap,因為它的大小不確定。作為一條規則可以記住,所有的對象都存放在heap。接下來的問題是,當Method1方法運行結束,會發生什麼事?
  • 判斷字符串是否包含子串,居然有七種方法?
    使用這兩個成員運算符,可以很讓我們很直觀清晰的判斷一個對象是否在另一個對象中,示例如下:>>> &34; in &34;True>>>>>> &34; in &34;False
  • 預填充Vue.js全局存儲狀態的三種方法
    在構建 Vue.js 應用程式時,當這些應用程式的規模擴張到一定程度後,你就可能會遇到管理全局狀態的需求了。還好,他們的核心開發團隊提供了 Vuex 這個便利的工具,這是 Vue.js 應用程式狀態管理庫的事實標準。 要入門這個庫非常簡單,所以我假設你已經熟悉了 Vuex 的實現。這篇文章並不是一篇入門教程。
  • JavaScript面向對象深入探索
    給原型添加成員經典繼承var o = { name: &34; } var obj = Object.create(o);· 這就叫做經典繼承,obj繼承o的所有成員創建一個函數,進入函數判斷瀏覽器是否支持