javascript控制臺詳解
一、顯示信息的命令
console.log(); //控制臺輸入 網(wǎng)頁中不會輸出
console.info(); //一般信息
console.debug(); //除錯信息
console.warn(); //警告提示
console.error(); //錯誤提示
“console.log();” 可以用來取代 “alert();” 或 “document.write();” 比如,在網(wǎng)頁中寫入 “console.log("Hello World");” 然后會在控制臺輸入,但是網(wǎng)頁中并不會輸入。


我們在代碼中插入如下代碼:
console.info( "這是info" );
console.debug( "這是debug" );
console.warn( "這是warn" );
console.error( "這是error" );
加載后打開控制臺會看到像下面這樣:

二、占位符
console對象的上面5種方法,都可以使用printf風格的占位符。不過,占位符的種類比較少,只支持字符(%s)、整數(shù)(%d或%i)、浮點數(shù)(%f)和對象(%o)四種。比如:
console.log( "%d年%d月%d日" , 2011,3,26 );
console.log( "圓周率是%f" , 3.1415926 );

%o占位符,可以用來查看一個對象內(nèi)部情況。比如,有這樣一個對象:
var dog = {} ;
dog.name = "大毛";
dog.color = "黃色";
然后,對它使用o%占位符:
console.log( "%o" , dog );

三、分組顯示
console.group(); console.groupEnd(); (這兩個方法是成對使用的)
console.group("第一組信息");
console.log("第一組第一條");
console.log("第一組第二條");
console.groupEnd();
console.group("第二組信息");
console.log("第二組第一條");
console.log("第二組第二條");
console.groupEnd();

四、console.dir();(顯示某一個對象的所有屬性和方法)
比如,現(xiàn)在為第二節(jié)的dog對象,添加一個bark()方法,然后用 “dir();” 顯示出來:
dog.bark = function(){ alert( "汪汪汪" ); };
console.dir( dog );

五、console.dirxml();(獲取某個節(jié)點所包含的所有html/xml代碼)
var table = document.getElementById("table1"); //獲取節(jié)點
console.dirxml( table ); //顯示節(jié)點的所有代碼

六、console.assert();(用來判斷一個表達式或變量是否為真。如果結(jié)果為否,則在控制臺輸出一條相應(yīng)信息,并且拋出一個異常)
var result = 0;
console.assert( result ); //false
var year = 2000;
console.assert( year == 2011 ); //false

七、console.trace();(用來追蹤函數(shù)的調(diào)用軌跡)
/*一個加法函數(shù)*/
function add( a,b ){
return a+b;
}
我想知道這個函數(shù)是如何被調(diào)用的,在其中加入console.trace()方法就可以了:
function add( a,b ){
console.trace();
return a+b;
}
假定這個函數(shù)的調(diào)用代碼如下:
var x = add3( 1,1 );
function add3( a,b ){ return add2(a,b); }
function add2( a,b ){ return add1( a,b ); }
function add1( a,b ){ return add( a,b ); }
運行后,會顯示add()的調(diào)用軌跡,從上到下依次為add()、add1()、add2()、add3()

八、console.time();和console.timeEnd();(用來顯示代碼的運行時間)
console.time( "計時器一" );
for( var i=0;i<1000;i++ ){
for(var j=0;j<1000;j++){}
}
console.timeEnd( "計時器一" );

九、性能分析
性能分析(Profiler)就是分析程序各個部分的運行時間,找出瓶頸所在,使用的方法是console.profile();
假定有一個函數(shù)Foo(),里面調(diào)用了另外兩個函數(shù)funcA()和funcB(),其中funcA()調(diào)用10次,funcB()調(diào)用1次。
function Foo(){
for(var i=0;i<10;i++){funcA(1000);}
funcB(10000);
}
function funcA(count){
for(var i=0;i<count;i++){}
}
function funcB(count){
for(var i=0;i<count;i++){}
}
然后分析 “Foo();” 的運行性能:
console.profile('性能分析器一');
Foo();
console.profileEnd();

標題欄提示,一共運行了12個函數(shù),共耗時2.656毫秒。其中funcA()運行10次,耗時1.391毫秒,最短運行時間0.123毫秒,最長0.284毫秒,平均0.139毫秒;funcB()運行1次,耗時1.229ms毫秒。
除了使用 “console.profile();”方法,firebug還提供了一個"概況"(Profiler)按鈕。第一次點擊該按鈕,"性能分析"開始,你可以對網(wǎng)頁進行某種操作(比如ajax操作),然后第二次點擊該按鈕,"性能分析"結(jié)束,該操作引發(fā)的所有運算就會進行性能分析。

十、屬性菜單
控制臺面板的名稱后面,有一個倒三角,點擊后會顯示屬性菜單。

默認情況下,控制臺只顯示Javascript錯誤。如果選中Javascript警告、CSS錯誤、XML錯誤都送上,則相關(guān)的提示信息都會顯示。
這里比較有用的是顯示"XMLHttpRequests" 也就是顯示ajax請求。選中以后,網(wǎng)頁的所有ajax請求,都會在控制臺面板顯示出來。
比如,點擊一個YUI示例,控制臺就會告訴我們,它用ajax方式發(fā)出了一個GET請求,http請求和響應(yīng)的頭信息和內(nèi)容主體,也都可以看到。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
createTextRange()的使用示例含文本框選中部分文字內(nèi)容
這篇文章主要介紹了createTextRange()的使用示例,需要的朋友可以參考下2014-02-02
淺談使用splice函數(shù)對數(shù)組中的元素進行刪除時的注意事項
下面小編就為大家?guī)硪黄獪\談使用splice函數(shù)對數(shù)組中的元素進行刪除時的注意事項。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
淺談javascript運算符——條件,逗號,賦值,()和void運算符
下面小編就為大家?guī)硪黄獪\談javascript運算符——條件,逗號,賦值,()和void運算符。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07
js實現(xiàn)鼠標感應(yīng)向下滑動隱藏菜單的方法
這篇文章主要介紹了js實現(xiàn)鼠標感應(yīng)向下滑動隱藏菜單的方法,涉及javascript操作鼠標事件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02
解決layui數(shù)據(jù)表格table的橫向滾動條顯示問題
今天小編就為大家分享一篇解決layui數(shù)據(jù)表格table的橫向滾動條顯示問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
javascript實現(xiàn)的圖片預(yù)覽和上傳功能示例【兼容IE 9】
這篇文章主要介紹了javascript實現(xiàn)的圖片預(yù)覽和上傳功能,結(jié)合實例形式分析了javascrpt圖片預(yù)覽和上傳功能相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2020-05-05
uniapp中使用videojs構(gòu)建H5直播播放器
這篇文章主要為大家介紹了uniapp中使用videojs構(gòu)建H5直播播放器實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06

