如何證明空對象為空對象?


1.問題背景:

接手的項目出現(xiàn)的這樣的寫法
res === {} 來判斷空對象,
當時會意了,但是越想越不對...


2.常見的 number、str、array、obj 以此用 == 和 ===

??1. number

      let c = 0;
      console.log(c == 0);//true
      console.log(c === 0);//true

??2. str

      let a = ' ';
      console.log(a == ' ');//true
      console.log(a === ' ');//true

??3. array

      let d = []
      console.log(d == [])//false
      console.log(d === [])//false

??4. obj

      let b = {} ;
      console.log(b == {});//false
      console.log(b === {});//false

??5. str與number

      let b = '0' ;
      console.log(b == 0);//true
      console.log(b === 0);//false

3. 證明 對象 為空對象的方法

??1 .將json對象轉(zhuǎn)化為json字符串,再判斷該字符串是否為"{}"

     let  data = {};
     console.log (JSON.stringify(data) == "{}");//true
     console.log (JSON.stringify(data) ==="{}");//true

??2.for in 循環(huán)判斷 (return是在一個函數(shù)中起作用的)

        let obj = {};
        let i = function() {
            for(let key in obj) {
                  return false;
                 }
               return true;
             }
        console.log(i()) //true

??3.jquery的isEmptyObject方法
??//此方法是jquery將2方法(for in)進行封裝,使用時需要依賴jquery

??4.Object.getOwnPropertyNames()方法,此方法不兼容ie8
?? 獲取到對象中的屬性名,存到一個數(shù)組中,通過數(shù)組的length來判斷

        let data = {};
        let arr = Object.getOwnPropertyNames(data);
        console.log(arr.length == 0);//true

??5.使用es6的Object.keys()方法,與4方法類似

       const data = { name: "Lily", age: 30, tel: "132xxxxxxxx", address: { city : "beijing", district: "haidian", detail: "dddddddd"} };
       let arr = Object.keys(data);
       console.log(arr.length == 0);//true
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,803評論 1 45
  • 方便起見不分parameter[形參,出現(xiàn)在函數(shù)定義中]和argument[實參,其值為傳入函數(shù)的值],一律當作a...
    東月三二閱讀 437評論 0 0
  • 1. javascript的typeof返回哪些數(shù)據(jù)類型. 答案:string,boolean,number,un...
    夢里夢不到的夢_b5c8閱讀 730評論 0 0
  • 概要 64學時 3.5學分 章節(jié)安排 電子商務網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,828評論 0 3
  • client,page和screen的區(qū)別? clientX,clientY是觸摸點相對于viewport視口x,...
    change_22fa閱讀 1,844評論 1 1

友情鏈接更多精彩內(nèi)容