成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Firebug中的console tab使用總結

開發(fā) 前端
Firebug對于Web開發(fā)人員來說,已經成為了不可或缺的工具,但是在我日常的工作中,常常感覺還沒有能夠深刻的挖掘出她的潛力,今天花了點時間仔細研究了Console和命令行的使用在提高工作效率方面的作用,記下來和大家分享一下。

Firebug一共有Console,HTML,CSS,Script,DOM,NET六個Tab,今天著重說一下Console的用法。

其實我們對于Console應該非常熟悉,因為這里是Firebug給出各種信息的窗口,而這也正是Console的主要用途,日志記錄(Logging)。

除此之外,Console還提供了通過命令行方式來調試Javascript的方法。下面就來學習一下Console的用法。

1、Firefox的日志記錄(Logging in Firefox)。

通過Console的記錄方法,我們可以不再使用煩人的alert或者document.write方法來進行調試。Firebug提供了五種日志的類型:

◆console.log:記錄一行信息,無任何圖標提示;

◆console.debug:記錄一行信息,帶超鏈接,可以鏈接到語句調用的地方;

◆console.error():向控制臺中寫入錯誤信息,帶錯誤圖標顯示和高亮代碼鏈接;

◆console.info():向控制臺中寫入提示信息,帶信息圖標顯示和高亮代碼鏈接;

◆console.warn():向控制臺中寫入警告信息,帶警告圖標顯示和高亮代碼鏈接;

consle打印字符串支持字符串替換,使用起來就像c里面的printf(“%s",a),支持的類型包括:

%s        string,字符串

%d,%i    整型

%f        浮點

 %o        對象

如果使用%o的話,對象就會用綠色的超鏈接表示出來,單擊后會將你帶到DOM視圖。

2、分組(Grouping)。

如果某一類的信息特別多時,分組就有利于邏輯的劃分。使用上很簡單,參見代碼。

            function consoleGroup(){
                var groupname = "Group 1";
                console.group("Message group %s", groupname);
                console.log("This is the 1 message in %s", groupname);
                console.log("This is the 2 message in %s", groupname);
                console.log("This is the 3 message in %s", groupname);
                console.groupEnd();
                
                goupname = "Group 2";
                console.group("Message group %s", goupname);
                console.log("This is the 1 message in %s", goupname);
                
                var subgroupname = "Sub group 1";
                console.group("Message group %s",subgroupname);
                console.log("This is the 1 message in %s", subgroupname);
                console.log("This is the 2 message in %s", subgroupname);
                console.log("This is the 3 message in %s", subgroupname);
                console.groupEnd();
                
                console.log("This is the 2 message in %s", goupname);
                console.groupEnd();
            }

3、console.dir和console.dirxml

console.dir可以將一個對象的所有方法和屬性打印出來,這個方法無疑是非常有用的,我們不再需要object.toString這樣的方法支持了,只要有firebug,查看對象也變得很輕松。

同時,我們也可以將頁面中的元素作為一個對象打印出來,但是你要小心,因為這將輸出眾多的信息,可能你會迷失在繁雜的信息中而找不到自己需要的條目。

我們可以通過分組將這些大量的信息放入一個分組中,這樣可以在邏輯上更清楚一些。

            function consoleDir(){
                function Car(){
                    this.Model = "Old Model";
                    this.getManu = function(){
                        return "Toyota";
                    }
                }
                
                var objCar = new Car();
                console.dir(objCar);
                console.dir(zoo);
                
                var groupname = "Css Style";
                console.group("The button Style", groupname);
                console.dir(document.getElementById('consoledir').style, groupname);
                console.groupEnd();
            }

console.dirxml    打印出HTML元素的XML表示形式.

4、斷言(console.assert())。

console.assert()可以用來判斷一個表達式是否正確,如果錯誤,他就會打印錯誤信息在控制臺窗口中。

5、追蹤(console.trace())。

console.trace()是一個非常有趣的功能。我們先來看看官方的解釋:打印Javascript執(zhí)行時刻的堆棧追蹤。

這個函數可以打印出程序執(zhí)行時從起點到終點的路徑信息。比如如果我們想知道某個函數是何時和如何被執(zhí)行的,我們將console.trace()放在這個函數中,我們就能夠的看到這個函數被執(zhí)行的路徑。這個函數在調試其他人的源代碼時非常有用。    

6、計時(Timing)。

console.time(timeName)可以用來計時,這個在我們需要知道代碼執(zhí)行效率的時候特別有用,就不用自己造輪子了。

            function consoleTime(){
                var timeName = "timer1";
                console.time(timeName);
                var a = 0;                
                for(var i = 0; i < 100; i++){
                    for(var j = 0; j < 100; j++){
//                        console.log('Hello world');
                        a = a + 1;
                    }
                }
                
                console.log("a = %d", a);
                console.timeEnd(timeName);
            }

7、Javascript分析器(Javascript Profiler)。

我們可以通過代碼console.profile('profileName')或者單擊Profiler標簽來進行Javascript代碼執(zhí)行的分析。這個功能有點類似于console.time(),可以幫助我們評估代碼的表現,但是能夠提供比console.time()更詳細的信息。

有三種方法可以調用Javascript profiler。一種是在代碼中寫入分析腳本,一種是單擊profile標簽,***還可以在命令行下輸入命令來執(zhí)行。執(zhí)行后,可以看到詳細的輸出結果,下面對各項進行一些說明:

Function Column:顯示調用的函數名稱;

Call Column:顯示調用次數;

Percent Column:顯示消耗的時間比;

Own Time:顯示函數內部語句執(zhí)行的時間,不包括調用其他函數的時間;

Time Column:顯示函數從開始到結束的執(zhí)行時間;

Avg Column:平均時間。Avg = Own / Call;

Min & Max Column:顯示最小和***時間;

File Column:函數所在的文件;    

8、其他的一些選項。

在Console Tab的最右側有一個Options的選項,在這里可以自己定義需要顯示的錯誤,其內容很好理解,這里就不多說了。有一點就是Firebug1.3以后,多了Show Chrome Errors和Show Chrome Message

等幾個選項,這幾個選項還沒有驗證過其具體的作用,哪位知道的可以共享一下。

【編輯推薦】

  1. 如何在JavaScript函數內執(zhí)行全局代碼
  2. JavaScript集成測試工具Test Swarm發(fā)布
  3. 征服RIA:基于JavaScript的Web客戶端開發(fā)
責任編輯:彭凡 來源: cnblogs
相關推薦

2011-06-22 10:48:35

PHP

2010-03-10 16:52:00

Python 編程語言

2015-10-13 10:00:58

Swift隨機數使用總結

2023-09-06 07:22:48

控制臺UI工具

2017-10-25 17:12:26

Firefox

2010-03-02 10:31:07

FirePHP調試

2019-04-04 14:05:20

consolejs前端

2011-05-19 14:29:49

Oraclerownum

2009-07-09 14:57:56

Java Consol

2014-07-18 10:00:41

AFNetworkin

2015-08-24 08:59:13

Git技巧

2015-07-29 10:18:35

Direct Cons虛擬化

2017-02-08 12:28:37

Android變量總結

2011-02-21 09:37:53

Web開發(fā) Firef

2011-05-31 14:33:53

settimeout

2023-02-24 08:00:00

2024-10-29 12:54:27

2023-08-31 09:10:18

JavaScript調試

2010-08-06 11:12:38

FlexCairngorm框架

2010-04-21 14:53:46

Oracle游標
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色播放 | 久久在线免费 | 日韩欧美精品一区 | 国产麻豆一区二区三区 | 一区二区成人 | 欧美亚洲激情 | 91精品国产91久久综合桃花 | 精品视频在线一区 | h片在线观看免费 | 国产999精品久久久久久 | 天堂久久天堂综合色 | 中文字幕精品一区二区三区精品 | 91精品国产一区二区三区 | 一级做a爰片性色毛片16 | 色在线视频网站 | 欧美成人hd | 国产目拍亚洲精品99久久精品 | 欧美一级在线观看 | 欧美一区不卡 | 精品一二三区 | 玖玖视频国产 | 做a的各种视频 | 欧美激情综合 | 99精品视频网 | 午夜视频一区二区 | 女人夜夜春 | 欧洲精品码一区二区三区免费看 | 精品一区二区三区中文字幕 | 日韩中文电影 | 夜夜摸夜夜操 | 精品综合久久久 | 国产91网站在线观看 | 一区二区三区视频 | 亚洲国产成人精品久久久国产成人一区 | 国产高清精品网站 | 午夜视频在线观看网站 | 久久综合入口 | 91看片在线观看 | 一区二区三区在线看 | 91久久| 欧美日韩亚洲国产 |