摘要:網(wǎng)上已經(jīng)有很多的回答了分別是中就是這么實(shí)現(xiàn)的中的這些辦法在判斷常規(guī)的對(duì)象的時(shí)候沒有問題,,當(dāng)一個(gè)對(duì)象為空的時(shí)候得到的答案也是預(yù)期的但是當(dāng)對(duì)象中有作為鍵值的時(shí)候呢測(cè)試結(jié)果就會(huì)被誤以為是空的雖然還有一個(gè)方法可以拿到,但是在正常的對(duì)象中他又為空了
網(wǎng)上已經(jīng)有很多的回答了分別是
for in (jquery中就是這么實(shí)現(xiàn)的) for of JSON.stringify() == "{}" Object.getOwnPropertyNames() Object.keys() Object.values() Underscore.js中的isEmpty
這些辦法在判斷常規(guī)的對(duì)象的時(shí)候沒有問題,,當(dāng)一個(gè)對(duì)象為空的時(shí)候得到的答案也是預(yù)期的
但是
當(dāng)對(duì)象中有symbol作為鍵值的時(shí)候呢???
測(cè)試:
結(jié)果:
就會(huì)被誤以為是空的
雖然還有一個(gè)方法Object.getOwnPropertySymbols可以拿到,但是在正常的對(duì)象中他又為空了
雖然把他們組合起來就可以解決問題,但是有一個(gè)新的api叫Reflect.ownKeys(),可以更方便的解決
當(dāng)然咋真正用的時(shí)候很少會(huì)那symbol去做一個(gè)對(duì)象的鍵值,但是在面試的時(shí)候,,這個(gè)問題可以說是高頻問題了
以上。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/101086.html
摘要:我們一般用來深拷貝,其過程說白了,就是利用將對(duì)象序列化字符串,再使用來反序列化還原對(duì)象。至于這行代碼為什么能實(shí)現(xiàn)深拷貝,以及它有什么局限性等等,不是本文要介紹的。小結(jié)論能不用和就不用,采用替代方案且性能更優(yōu)的。 JSON.parse(JSON.stringify(obj))我們一般用來深拷貝,其過程說白了,就是利用 JSON.stringify 將js對(duì)象序列化(JSON字符串),再使...
摘要:簡(jiǎn)化版如果有更好的方法歡迎留言請(qǐng)關(guān)注我的訂閱號(hào),不定期推送有關(guān)的技術(shù)文章,只談技術(shù)不談八卦 showImg(https://segmentfault.com/img/remote/1460000018733493?w=640&h=426); ?? 更多前端技術(shù)和知識(shí)點(diǎn),搜索訂閱號(hào) JS 菌 訂閱 檢查一個(gè)數(shù)組為空很容易,直接調(diào)用 length 方法即可,那么如何檢查一個(gè)對(duì)象是否為空呢 ...
摘要:即使現(xiàn)在支持,由于沒有多線程的機(jī)制,和執(zhí)行線程只能通過來通信,而且由于沒有鎖,無法訪問和對(duì)象。的單線程是指一個(gè)瀏覽器進(jìn)程中只有一個(gè)的執(zhí)行線程,即同一時(shí)刻內(nèi)只會(huì)有一段代碼在執(zhí)行。與單線程如何實(shí)現(xiàn)異步設(shè)計(jì)了一個(gè)事件循環(huán)的方式。眾所周知,JavaScript(以下簡(jiǎn)稱 JS) 是單線程語言,在 html5 中增加了 web workers,web workers 是新開了線程執(zhí)行的,那么 JS 還...
摘要:注意類繼承時(shí)的問題繼承自方法中對(duì)象直接繼承和間接繼承的都會(huì)報(bào)解決的問題通常是讓對(duì)象的手動(dòng)指向自己將自己的類賦值給對(duì)象的屬性基類不會(huì)報(bào)了原博參考,,,,判斷為 js基礎(chǔ)(二):構(gòu)造函數(shù)與原型 一、常見實(shí)例 判斷是否為對(duì)象 let obj = {} // 1.Object.prototype.toString if (Object.prototype.toString.call(obj...
摘要:對(duì)象字面量形式通過構(gòu)造函數(shù)創(chuàng)建中是如何判斷的呢判斷是否為純粹的對(duì)象,必須滿足首先必須是對(duì)象不是對(duì)象并且原型要和的原型相等方法返回指定對(duì)象的原型即內(nèi)部屬性的值如果沒有繼承屬性,則返回。 前言 時(shí)間過得可真快,轉(zhuǎn)眼間2017年已去大半有余,你就說嚇不嚇人,這一年你成長(zhǎng)了多少,是否荒度了很多時(shí)光,亦或者天天向上,收獲滿滿。今天主要寫一些看Zepto基礎(chǔ)模塊時(shí),比較實(shí)用的部分內(nèi)部方法,在我們?nèi)?..
閱讀 885·2021-10-27 14:19
閱讀 1102·2021-10-15 09:42
閱讀 1526·2021-09-14 18:02
閱讀 738·2019-08-30 13:09
閱讀 2981·2019-08-29 15:08
閱讀 2084·2019-08-28 18:05
閱讀 948·2019-08-26 10:25
閱讀 2777·2019-08-23 16:28