成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

對(duì)console.log的一種封裝

shmily / 3420人閱讀

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

對(duì)于一個(gè)特別喜歡用console.log來(lái)調(diào)試代碼的人來(lái)說(shuō),console.log的一些坑和console.log的詳細(xì)用法確實(shí)是一件值得深究的事。

先記錄一下console.log的一些坑:
1.對(duì)于引用對(duì)象,比如Array和Object,打印出來(lái)的內(nèi)容可能是當(dāng)前在內(nèi)存里的內(nèi)容,而不是打印的那個(gè)時(shí)刻的內(nèi)容
2.對(duì)于一個(gè)大型項(xiàng)目而言,如果console.log過(guò)多,管理滿屏的console.log是一件很恐怖的事,因?yàn)槟愫芸赡苷也坏较胍男畔?/p>

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

本文主要針對(duì)【問(wèn)題2】提供了一個(gè)解決方案。代碼如下

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)("不會(huì)顯示1");
log(1003)("不會(huì)顯示2");

原理是通過(guò)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];

這樣只會(huì)打?。?br>登錄模塊調(diào)試1
登錄模塊調(diào)試2
登錄模塊調(diào)試3
登錄模塊調(diào)試4

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101496.html

相關(guān)文章

  • JavaScript設(shè)計(jì)模式與開(kāi)發(fā)實(shí)踐 | 01 - 面向對(duì)象的JavaScript

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

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

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

    luxixing 評(píng)論0 收藏0
  • JavaScript 面向對(duì)象開(kāi)發(fā)知識(shí)總結(jié)基礎(chǔ)篇

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

    Kross 評(píng)論0 收藏0
  • ES6中Promise 承諾對(duì)封裝異步操作解析

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

    qianfeng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<