最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript 調試利器 Firebug使用詳解六

 更新時間:2009年07月05日 00:55:09   作者:  
有時候,為了更清楚方便的查看輸出信息,我們可能需要將一些調試信息進行分組輸出,那么可以使用console.group來對信息進行分組,在組信息輸出完成后用console.groupEnd結束分組。

我們測試一下把剛才的4個輸出作為一個分組輸出,修改代碼為:

復制代碼 代碼如下:

console.group('開始分組:');
console.debug('This is console.debug!');
console.info('This is console.info!');
console.warn('This is console.warn!');
console.error('This is console.error!');
console.groupEnd();

刷新頁面看看結果(圖11-5)。在console.group中,我們還可以加入一個組標題“開始分組:”。如果需要,我們還可以通過嵌套的方式,在組內再分組。

圖11-5
有時候,我們需要寫一個for循環(huán)列出一個對象的所有屬性或者某個HTML Element下的所有節(jié)點,有了firebug后,我們不需要再寫這個for循環(huán)了,我們只需要使用console.dir(object)或console.dirxml(element)就可以了。
在測試頁中加入代碼測試一下:
復制代碼 代碼如下:

console.dir(document.getElementById('div1'));
console.dirxml(document.getElementById('div1'));

結果請看圖11-6和圖11-7。
 
圖11-6

圖11-7
是否想知道代碼的運行速度?很簡單,使用console.time和console.timeEnd就可以。
修改一下test函數的代碼,測試一下運行1000次循環(huán)需要多少時間:
復制代碼 代碼如下:

function test(){
console.time('test');
for(var i=0;i<1000;i++){
document.getElementById('div2').innerHTML=i;
//console.log('當前的參數是:%d',i);
}
console.timeEnd('test');
}

刷新頁面,單擊“方塊二”,看看結果(圖11-8)。在這里要注意的是console.time和console.timeEnd里的參數要一致才會有正確的輸出,而該參數就是信息的標題。

圖11-8
是否想知道某個函數是從哪里調用的?console..trace可幫助我們進行追蹤。在test函數的結尾加入:
console.trace();
刷新頁面,單擊“方塊二”,看看結果(圖11-9)。結果顯示是在坐標(97,187)的鼠標單擊事件執(zhí)行了test函數,而調用的腳本是在simple.html文件里的第1行。因為是在HTML里面的事件調用了test函數,所以顯示的行號是第1行。如果是腳本,則會顯示調用腳本的行號,通過單擊可以直接去到調用行。

圖11-9
如果想在腳本某個位置設置斷點,可以在腳本中輸入“debugger”作為一行。當腳本執(zhí)行到這一行時會停止執(zhí)行等待用戶操作,這時候可以通過切換到“Script”標簽對腳本進行調試。
Firebug還有其它的一些調試函數,這里就不一一做介紹,有興趣可以自己測試。表4是所有函數的列表:

函數

說明
console.log(object[, object, ...])

向控制臺輸出一個信息??梢暂斎攵鄠€參數,輸出將已空格分隔各參數輸出。

第一參數可以包含格式化文本,例如:

console.log(‘這里有%d個%s',count,apple);

字符串格式:

%s :字符串。

%d, %i:數字。

%f: 浮點數。

%o -超鏈接對象。

console.debug(object[, object, ...])

向控制臺輸出一個信息,信息包含一個超鏈接鏈接到輸出位置。

console.info(object[, object, ...])

向控制臺輸出一個帶信息圖標和背景顏色的信息,信息包含一個超鏈接鏈接到輸出位置。

console.warn(object[, object, ...])

向控制臺輸出一個帶警告圖標和背景顏色的信息,信息包含一個超鏈接鏈接到輸出位置。

console.error(object[, object, ...])

向控制臺輸出一個帶錯誤圖標和背景顏色的信息,信息包含一個超鏈接鏈接到輸出位置。

console.assert(expression[, object, ...])

測試一個表示是否為true,如果為false,提交一個例外信息到控制臺。

console.dir(object)

列出對象的所有屬性。

console.dirxml(node)

列出HTML或XML Element的XML源樹。

console.trace()

輸出堆棧的調用入口。

console.group(object[, object, ...])

將信息分組再輸出到控制臺。通過console.groupEnd()結束分組。

console.groupEnd()

結束分組輸出。

console.time(name)

創(chuàng)建一個名稱為name的計時器,計算代碼的執(zhí)行時間,調用console.timeEnd(name)停止計時器并輸出執(zhí)行時間。

console.timeEnd(name)

停止名稱為name的計時器并輸出執(zhí)行時間。

console.profile([title])

開始對腳本進行性能測試,title為測試標題。

console.profileEnd()

結束性能測試。

console.count([title])

計算代碼的執(zhí)行次數。titile作為輸出標題。

表4


12、 在IE中使用Firebug
Firebug是Firefox的一個擴展,但是我習慣在IE中調試我的頁面怎么辦?如果在頁面腳本中加入console.log()將調試信息寫到Friebug,在IE中肯定是提示錯誤的,怎么辦?不用擔心,F(xiàn)rirebug提供了Frirbug Lite腳本,可以插入頁面中模仿Firebug控制臺。
我們可以從一下地址下載firebug lite:
http://www.getfirebug.com/releases/firebuglite1.0-b1.zip
然后在頁面中加入:
<script language="javascript" type="text/javascript" src="/路徑/firebug.js"></script>
如果你不想在IE中模仿Friebug控制臺,只是不希望console.log()腳本出現(xiàn)錯誤信息,那么在頁面中加入一下語句:
<script language="javascript" type="text/javascript" src="/路徑/firebugx.js"></script>
如果你不想安裝Firebug Lite,只是想避免腳本錯誤,那么可以在腳本中加入以下語句:
if (!window.console || !console.firebug)
{
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i)
window.console[names[i]] = function() {}
}
我們將firebug.js加入到測試頁面中,然后打開IE,加載頁面。頁面加載完成后,我們按下F12鍵就可以打開控制臺了。每次頁面刷新后,你都要按F12鍵打開控制臺,是不是很煩?如果不想那么,就在html標簽中加入“debug='true'”,例如:
<html debug="true">
在Friebug Lite中也有命令行,但是功能沒那么強。

相關文章

  • 在chrome瀏覽器中,防止input[text]和textarea在聚焦時出現(xiàn)黃色邊框的解決方法

    在chrome瀏覽器中,防止input[text]和textarea在聚焦時出現(xiàn)黃色邊框的解決方法

    chrome瀏覽器不管對于開發(fā)者還是一般用戶都可以說是一個相當優(yōu)秀的網頁瀏覽器,但是在開發(fā)中,讓人感覺很多余的一個特性就是,在表單項中的控件聚焦時總會出現(xiàn)一個黃色邊框
    2011-05-05
  • JS實現(xiàn)手機號脫敏的方法詳解

    JS實現(xiàn)手機號脫敏的方法詳解

    脫敏指的是通過特定的技術手段對敏感數據進行處理,使其不再直接暴露給用戶或系統(tǒng),防止敏感信息泄露,通常在測試、開發(fā)、數據處理等場景中使用,本文給大家介紹了JS實現(xiàn)手機號脫敏的方法,需要的朋友可以參考下
    2025-03-03
  • OpenLayer實現(xiàn)自定義坐標點的繪制

    OpenLayer實現(xiàn)自定義坐標點的繪制

    OpenLayers?是一個專為Web?GIS?客戶端開發(fā)提供的JavaScript?類庫包,用于實現(xiàn)標準格式發(fā)布的地圖數據訪問。本文將利用OpenLayer實現(xiàn)自定義坐標點的繪制,感興趣的可以了解一下
    2022-04-04
  • Canvas 制作動態(tài)進度加載水球詳解及實例代碼

    Canvas 制作動態(tài)進度加載水球詳解及實例代碼

    這篇文章主要介紹了Canvas 制作動態(tài)進度加載水球詳解及實例代碼的相關資料,這里附有實例代碼及實現(xiàn)效果圖,需要的朋友可以參考下
    2016-12-12
  • JS 仿支付寶input文本輸入框放大組件的實例

    JS 仿支付寶input文本輸入框放大組件的實例

    下面小編就為大家?guī)硪黄狫S 仿支付寶input文本輸入框放大組件的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • DVA框架統(tǒng)一處理所有頁面的loading狀態(tài)

    DVA框架統(tǒng)一處理所有頁面的loading狀態(tài)

    dva 有一個管理 effects 執(zhí)行的 hook,并基于此封裝了 dva-loading 插件。下面通過本文給大家分享DVA框架統(tǒng)一處理所有頁面的loading狀態(tài),感興趣的朋友一起看看吧
    2017-08-08
  • JS造成內存泄漏的幾種情況實例分析

    JS造成內存泄漏的幾種情況實例分析

    這篇文章主要介紹了JS造成內存泄漏的幾種情況,結合實例形式分析了內存泄漏的原理以及JS造成內存泄漏的幾種常見情況,需要的朋友可以參考下
    2020-03-03
  • js對象簡介與基本用法示例

    js對象簡介與基本用法示例

    這篇文章主要介紹了js對象簡介與基本用法,結合實例形式分析了JavaScript對象的概念、功能、基本用法與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • JS簡單實現(xiàn)tab切換效果的多窗口顯示功能

    JS簡單實現(xiàn)tab切換效果的多窗口顯示功能

    這篇文章主要介紹了JS簡單實現(xiàn)tab切換效果的多窗口顯示功能,可實現(xiàn)響應鼠標事件的文字切換顯示效果,涉及javascript頁面元素遍歷與樣式變換相關操作技巧,需要的朋友可以參考下
    2016-09-09
  • js 內存釋放問題

    js 內存釋放問題

    這里之所以使用setTimeout(),因為可以徹底回收當前所有對象,防止變量之間的引用導致釋放失敗,可以當作一個保障措施,按照道理來說,這里不會執(zhí)行了。
    2010-04-04

最新評論

仪征市| 宾川县| 南召县| 保德县| 东平县| 江油市| 施秉县| 新宾| 德州市| 公安县| 濮阳市| 营山县| 岳池县| 南丹县| 彭山县| 浦北县| 奉节县| 龙门县| 辉县市| 玉山县| 三门峡市| 武威市| 收藏| 伊宁市| 新竹县| 宝兴县| 遂川县| 鹤壁市| 扎鲁特旗| 安新县| 金川县| 宝清县| 延边| 青神县| 高淳县| 苗栗市| 西华县| 长阳| 唐河县| 柞水县| 鄢陵县|