JavaScript中的alert()函数使⽤技巧详解
在JavaScript代码中,可以使⽤window对象的alert()函数来显⽰⼀段⽂本,从⽽进⾏程序的调试,或者向⽤户警⽰相关信息:
复制代码代码如下:
//Use window object's alert() function
window.alert("sample text");
这⼀写法可以简化为直接使⽤alert()函数:
复制代码代码如下:
//Simplified alert() usage
alert("sample text");
如果需要显⽰带换⾏的⽂本,可以使⽤\n:
复制代码代码如下:
//Use \n in alert()
alert("The first line\nThe second line");
如果需要使⽤制表符,可以⽤\t:
jquery是什么有什么作用
复制代码代码如下:
//Use \t in alert()
alert("Alex\t50\t34\nBob\t59\t38");
变量的使⽤
除了显⽰静态字符串外,alert()函数也可以接受变量,并将变量值与其它字符串进⾏拼接:
复制代码代码如下:
//Use variable in alert()
var word = "life";
alert("The magic word is: " + word + ". Don't panic.");
遗憾的是,尽管alert()函数可以接受变量,但能做的也仅⽌于这种字符串拼接操作;与另⼀种调试⽅法console.log()相
反,alert()函数并不接受向字符串传参数的做法。以下述代码为例:
复制代码代码如下:
//Try to use parameter in alert(), will fail
var name = "Bob";
var years = 42;
alert("%s is %d years old.", name, years);
如果alert()函数接受字符串传參,那么预期的输出结果将会是”Bob is 42 years old.”;但实际上alert()函数并不⽀持这么做,因此最终的输出结果为”%s is %d years old.”。
弹出窗⼝样式
由于alert()函数所使⽤的弹出框是浏览器系统对象⽽不是⽹页⽂档对象,因此⽆法通过在alert()函数中使⽤HTML标签来定义弹
出框的样式 — HTML标签将会被原封不动的进⾏显⽰。对于以下代码:
复制代码代码如下:
//Try to use HTML tags in alert(), will fail
alert("<b>Test Text</b>");
输出结果并不是加粗的”Test Text”。
如果确实需要改变警⽰框的样式,可以有以下两种⽅案:
1.在alert()函数中使⽤Unicode字符。这种⽅案的好处是实现起来⾮常简单,但其局限性也很明显:Unicode字符的表现⼒⾮常有限。
2.不使⽤alert()函数,转⽽⽤HTML组件模拟弹出框(⽐如使⽤jQuery UI Dialog)。这种⽅案的优势是弹出框的表现⼒会很强,但对其的使⽤会增加前端代码的复杂度。
结语
alert()函数可以⽤来向⽤户警⽰信息,也可以⽤来调试程序。对于前者,使⽤jQuery UI Dialog等组件能⼤幅增加表现⼒及⽤户体验;⽽对于后者,由于alert()弹出框会阻断JavaScript代码的执⾏,因此在很多情况下,使⽤console.log()来对程序进⾏调试是⼀种更好的⽅案。