JavaScript中的alert()函數(shù)使用技巧詳解
在JavaScript代碼中,可以使用window對象的alert()函數(shù)來顯示一段文本,從而進(jìn)行程序的調(diào)試,或者向用戶警示相關(guān)信息:
//Use window object's alert() function
window.alert("sample text");
這一寫法可以簡化為直接使用alert()函數(shù):
//Simplified alert() usage
alert("sample text");
如果需要顯示帶換行的文本,可以使用\n:
//Use \n in alert()
alert("The first line\nThe second line");
如果需要使用制表符,可以用\t:
//Use \t in alert()
alert("Alex\t50\t34\nBob\t59\t38");
變量的使用
除了顯示靜態(tài)字符串外,alert()函數(shù)也可以接受變量,并將變量值與其它字符串進(jìn)行拼接:
//Use variable in alert()
var word = "life";
alert("The magic word is: " + word + ". Don't panic.");
遺憾的是,盡管alert()函數(shù)可以接受變量,但能做的也僅止于這種字符串拼接操作;與另一種調(diào)試方法console.log()相反,alert()函數(shù)并不接受向字符串傳參數(shù)的做法。以下述代碼為例:
//Try to use parameter in alert(), will fail
var name = "Bob";
var years = 42;
alert("%s is %d years old.", name, years);
如果alert()函數(shù)接受字符串傳參,那么預(yù)期的輸出結(jié)果將會是”Bob is 42 years old.”;但實(shí)際上alert()函數(shù)并不支持這么做,因此最終的輸出結(jié)果為”%s is %d years old.”。
彈出窗口樣式
由于alert()函數(shù)所使用的彈出框是瀏覽器系統(tǒng)對象而不是網(wǎng)頁文檔對象,因此無法通過在alert()函數(shù)中使用HTML標(biāo)簽來定義彈出框的樣式 — HTML標(biāo)簽將會被原封不動的進(jìn)行顯示。對于以下代碼:
//Try to use HTML tags in alert(), will fail
alert("<b>Test Text</b>");
輸出結(jié)果并不是加粗的”Test Text”。
如果確實(shí)需要改變警示框的樣式,可以有以下兩種方案:
1.在alert()函數(shù)中使用Unicode字符。這種方案的好處是實(shí)現(xiàn)起來非常簡單,但其局限性也很明顯:Unicode字符的表現(xiàn)力非常有限。
2.不使用alert()函數(shù),轉(zhuǎn)而用HTML組件模擬彈出框(比如使用jQuery UI Dialog)。這種方案的優(yōu)勢是彈出框的表現(xiàn)力會很強(qiáng),但對其的使用會增加前端代碼的復(fù)雜度。
結(jié)語
alert()函數(shù)可以用來向用戶警示信息,也可以用來調(diào)試程序。對于前者,使用jQuery UI Dialog等組件能大幅增加表現(xiàn)力及用戶體驗(yàn);而對于后者,由于alert()彈出框會阻斷JavaScript代碼的執(zhí)行,因此在很多情況下,使用console.log()來對程序進(jìn)行調(diào)試是一種更好的方案。
- JavaScript Alert通用美化類
- javascript中常見的3種信息提示框(alert,prompt,confirm)
- javascript重寫alert方法的實(shí)例代碼
- Js,alert出現(xiàn)亂碼問題的解決方法
- Javascript alert消息換行的方法
- js的alert彈出框出現(xiàn)亂碼解決方案
- js提示框替代系統(tǒng)alert,自動關(guān)閉alert對話框的實(shí)現(xiàn)方法
- JavaScript常用的3種彈出框(提示框?alert/確認(rèn)框?confirm/輸入框?prompt)
- JavaScript中alert的使用方法超詳細(xì)介紹
相關(guān)文章
原生js三級聯(lián)動的簡單實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄鷍s三級聯(lián)動的簡單實(shí)現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
js設(shè)置function參數(shù)默認(rèn)值(適合沒有傳參情況)
div+css模擬js信息框的類庫時遇到一個問題當(dāng)沒有傳遞參數(shù)過去時自動使用提示信息作為窗口標(biāo)題,具體的實(shí)現(xiàn)如下2014-02-02
TypeScript泛型參數(shù)默認(rèn)類型和新的strict編譯選項(xiàng)
這篇文章主要介紹了TypeScript泛型參數(shù)默認(rèn)類型和新的strict編譯選項(xiàng),對TypeScript感興趣的同學(xué),可以參考下2021-05-05
微信小程序?qū)崙?zhàn)之自定義模態(tài)彈窗(8)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崙?zhàn)之自定義模態(tài)彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
淺談js構(gòu)造函數(shù)的方法與原型prototype
下面小編就為大家?guī)硪黄獪\談js構(gòu)造函數(shù)的方法與原型prototype。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07

