JavaScript中的alert()函数使用技巧详解


Posted in Javascript onDecember 29, 2014

在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:

//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()函数接受字符串传?ⅲ?敲丛て诘氖涑鼋峁??崾恰?ob 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()来对程序进行调试是一种更好的方案。

Javascript 相关文章推荐
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 Javascript
js实现使用鼠标拖拽切换图片的方法
May 04 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
Aug 15 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
react.js CMS 删除功能的实现方法
Apr 17 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
Jan 11 Javascript
JavaScript实现数字前补“0”的五种方法示例
Jan 03 Javascript
javascript实现的字符串转换成数组操作示例
Jun 13 Javascript
JavaScript实现三阶幻方算法谜题解答
Dec 29 #Javascript
浅谈JavaScript Date日期和时间对象
Dec 29 #Javascript
jQuery中clearQueue()方法用法实例
Dec 29 #Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 #Javascript
浅谈JavaScript Array对象
Dec 29 #Javascript
JavaScript实现N皇后问题算法谜题解答
Dec 29 #Javascript
jQuery中dequeue()方法用法实例
Dec 29 #Javascript
You might like
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
JavaScript版代码高亮
2006/06/26 Javascript
javascript字典探测用户名工具
2006/10/05 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
JavaScript实现指定数量的并发限制的示例代码
2020/03/10 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
Python生成器generator用法示例
2018/08/10 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
用 python 进行微信好友信息分析
2020/11/28 Python
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
日语专业个人的求职信
2013/12/03 职场文书
初一家长会邀请函
2014/01/31 职场文书
股份转让协议书
2014/04/12 职场文书
保护环境倡议书
2014/04/14 职场文书
会议接待欢迎标语
2014/10/08 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技