摘要:對(duì)于一個(gè)特別喜歡用來調(diào)試代碼的人來說,的一些坑和的詳細(xì)用法確實(shí)是一件值得深究的事。解決方法改變習(xí)慣,以后用斷點(diǎn)的方式調(diào)試。解決方法使用把對(duì)象變成字符串打印本文主要針對(duì)問題提供了一個(gè)解決方案。
對(duì)于一個(gè)特別喜歡用console.log來調(diào)試代碼的人來說,console.log的一些坑和console.log的詳細(xì)用法確實(shí)是一件值得深究的事。
先記錄一下console.log的一些坑:
1.對(duì)于引用對(duì)象,比如Array和Object,打印出來的內(nèi)容可能是當(dāng)前在內(nèi)存里的內(nèi)容,而不是打印的那個(gè)時(shí)刻的內(nèi)容
2.對(duì)于一個(gè)大型項(xiàng)目而言,如果console.log過多,管理滿屏的console.log是一件很恐怖的事,因?yàn)槟愫芸赡苷也坏较胍男畔?/p>
針對(duì)問題1,如果你還是要用console.log來debug,那么這是不可避免的。
解決方法1:改變習(xí)慣,以后用斷點(diǎn)的方式調(diào)試。
解決方法2:使用JSON.stringify把對(duì)象變成字符串打印
本文主要針對(duì)【問題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");
原理是通過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ì)打印:
登錄模塊調(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://m.specialneedsforspecialkids.com/yun/101496.html
摘要:在中,并沒有對(duì)抽象類和接口的支持。例如,當(dāng)對(duì)象需要對(duì)象的能力時(shí),可以有選擇地把對(duì)象的構(gòu)造器的原型指向?qū)ο螅瑥亩_(dá)到繼承的效果。本節(jié)內(nèi)容為設(shè)計(jì)模式與開發(fā)實(shí)踐第一章筆記。 動(dòng)態(tài)類型語言 編程語言按數(shù)據(jù)類型大體可以分為兩類:靜態(tài)類型語言與動(dòng)態(tài)類型語言。 靜態(tài)類型語言在編譯時(shí)已確定變量類型,動(dòng)態(tài)類型語言的變量類型要到程序運(yùn)行時(shí),待變量被賦值后,才具有某種類型。 而JavaScript是一門典型...
摘要:對(duì)象會(huì)記住它的原型給對(duì)象提供了一個(gè)名為的隱藏屬性,某個(gè)對(duì)象的屬性默認(rèn)會(huì)指向它的構(gòu)造器的原型對(duì)象,即。我們通過代碼來驗(yàn)證再來實(shí)際上,就是對(duì)象跟對(duì)象構(gòu)造器的原型聯(lián)系起來的紐帶切記這句話,對(duì)未來理解原型鏈很有幫助。 封裝 封裝數(shù)據(jù) 在許多語言的對(duì)象系統(tǒng)中,封裝數(shù)據(jù)是由語法解析來實(shí)現(xiàn)的,這些語言也許提供了 private、public、protected 等關(guān)鍵字來提供不同的訪問權(quán)限。例如:j...
摘要:字面形式允許你在不需要使用操作符和構(gòu)造函數(shù)顯式創(chuàng)建對(duì)象的情況下生成引用值。操作符以一個(gè)對(duì)象和一個(gè)構(gòu)造函數(shù)作為參數(shù)鑒別數(shù)組有前一小結(jié)可以知道鑒別數(shù)組類型可以使用。屬性是函數(shù)獨(dú)有的,表明該對(duì)象可以被執(zhí)行。這種函數(shù)被稱為匿名函數(shù)。 引子: 1.JavaScript 中的變量類型和類型檢測(cè) 1.1原始類型 1.2引用類型 1.3內(nèi)建類型的實(shí)例化 1.4函數(shù)的字面形式 1.5正則表達(dá)式的字...
摘要:有了對(duì)象,就可以將異步操作以同步操作的流程表達(dá)出來,避免了層層嵌套的回調(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 將其寫進(jìn)了語言標(biāo)準(zhǔn),統(tǒng)一了...
閱讀 4588·2021-09-22 14:57
閱讀 564·2019-08-30 15:56
閱讀 2668·2019-08-30 15:53
閱讀 2241·2019-08-29 14:15
閱讀 1689·2019-08-28 17:54
閱讀 561·2019-08-26 13:37
閱讀 3479·2019-08-26 10:57
閱讀 1047·2019-08-26 10:32