亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

對console.log的一種封裝

shmily / 3487人閱讀

摘要:對于一個特別喜歡用來調(diào)試代碼的人來說,的一些坑和的詳細用法確實是一件值得深究的事。解決方法改變習(xí)慣,以后用斷點的方式調(diào)試。解決方法使用把對象變成字符串打印本文主要針對問題提供了一個解決方案。

對于一個特別喜歡用console.log來調(diào)試代碼的人來說,console.log的一些坑和console.log的詳細用法確實是一件值得深究的事。

先記錄一下console.log的一些坑:
1.對于引用對象,比如Array和Object,打印出來的內(nèi)容可能是當(dāng)前在內(nèi)存里的內(nèi)容,而不是打印的那個時刻的內(nèi)容
2.對于一個大型項目而言,如果console.log過多,管理滿屏的console.log是一件很恐怖的事,因為你很可能找不到想要的信息

針對問題1,如果你還是要用console.log來debug,那么這是不可避免的。
解決方法1:改變習(xí)慣,以后用斷點的方式調(diào)試。
解決方法2:使用JSON.stringify把對象變成字符串打印

本文主要針對【問題2】提供了一個解決方案。代碼如下

let consoleVersion = [1000, 1001];

let emptyFunc = function(){}

let _log = function(version){
    if(consoleVersion.includes(version)){
        return console.log;
    }else{
        return emptyFunc;
    }
}

使用方式

log(1000)("顯示1");
log(1001)("顯示2");
log(1002)("不會顯示1");
log(1003)("不會顯示2");

原理是通過consoleVersion數(shù)組管理打印的內(nèi)容,比如今天我需要調(diào)試登錄模塊
我們記錄登錄模塊的console.log的調(diào)試內(nèi)容為1001,那么所有的登錄模塊的打印都使用這樣的方式打印

log(1001)("登錄模塊調(diào)試1");
log(1001)("登錄模塊調(diào)試2");
log(1001)("登錄模塊調(diào)試3");
log(1001)("登錄模塊調(diào)試4");
log(1002)("其他模塊調(diào)試1");

然后設(shè)置

consoleVersion = [1001];

這樣只會打印:
登錄模塊調(diào)試1
登錄模塊調(diào)試2
登錄模塊調(diào)試3
登錄模塊調(diào)試4

不會打印其他內(nèi)容

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/101496.html

相關(guān)文章

  • JavaScript設(shè)計模式與開發(fā)實踐 | 01 - 面向象的JavaScript

    摘要:在中,并沒有對抽象類和接口的支持。例如,當(dāng)對象需要對象的能力時,可以有選擇地把對象的構(gòu)造器的原型指向?qū)ο?,從而達到繼承的效果。本節(jié)內(nèi)容為設(shè)計模式與開發(fā)實踐第一章筆記。 動態(tài)類型語言 編程語言按數(shù)據(jù)類型大體可以分為兩類:靜態(tài)類型語言與動態(tài)類型語言。 靜態(tài)類型語言在編譯時已確定變量類型,動態(tài)類型語言的變量類型要到程序運行時,待變量被賦值后,才具有某種類型。 而JavaScript是一門典型...

    suxier 評論0 收藏0
  • javascript設(shè)計模式與開發(fā)實踐(二)- 封裝和原型模式

    摘要:對象會記住它的原型給對象提供了一個名為的隱藏屬性,某個對象的屬性默認會指向它的構(gòu)造器的原型對象,即。我們通過代碼來驗證再來實際上,就是對象跟對象構(gòu)造器的原型聯(lián)系起來的紐帶切記這句話,對未來理解原型鏈很有幫助。 封裝 封裝數(shù)據(jù) 在許多語言的對象系統(tǒng)中,封裝數(shù)據(jù)是由語法解析來實現(xiàn)的,這些語言也許提供了 private、public、protected 等關(guān)鍵字來提供不同的訪問權(quán)限。例如:j...

    luxixing 評論0 收藏0
  • JavaScript 面向象開發(fā)知識總結(jié)基礎(chǔ)篇

    摘要:字面形式允許你在不需要使用操作符和構(gòu)造函數(shù)顯式創(chuàng)建對象的情況下生成引用值。操作符以一個對象和一個構(gòu)造函數(shù)作為參數(shù)鑒別數(shù)組有前一小結(jié)可以知道鑒別數(shù)組類型可以使用。屬性是函數(shù)獨有的,表明該對象可以被執(zhí)行。這種函數(shù)被稱為匿名函數(shù)。 引子: 1.JavaScript 中的變量類型和類型檢測 1.1原始類型 1.2引用類型 1.3內(nèi)建類型的實例化 1.4函數(shù)的字面形式 1.5正則表達式的字...

    Kross 評論0 收藏0
  • ES6中Promise 承諾封裝異步操作解析

    摘要:有了對象,就可以將異步操作以同步操作的流程表達出來,避免了層層嵌套的回調(diào)函數(shù)。此外,對象提供統(tǒng)一的接口,使得控制異步操作更加容易。它的作用是為實例添加狀態(tài)改變時的回調(diào)函數(shù)。這時,第二個方法指定的回調(diào)函數(shù),就會等待這個新的對象狀態(tài)發(fā)生變化。 Promise 是異步編程的一種解決方案,比傳統(tǒng)的解決方案(回調(diào)函數(shù)和事件)更合理和更強大。它由社區(qū)最早出和實現(xiàn),ES6 將其寫進了語言標準,統(tǒng)一了...

    qianfeng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<