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 相关文章推荐
web性能优化之javascript性能调优
Dec 28 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
Jan 11 Javascript
jquery mobile事件多次绑定示例代码
Sep 13 Javascript
JS实现仿京东淘宝竖排二级导航
Dec 08 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
May 12 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
Jan 23 Javascript
js获取指定时间的前几秒
Apr 05 Javascript
JS实现浏览上传文件的代码
Aug 23 Javascript
JavaScript继承与多继承实例分析
May 26 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
Sep 27 Javascript
ES6 Symbol在对象中的作用实例分析
Jun 06 Javascript
详解阿里Node.js技术文档之process模块学习指南
Jan 04 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
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
德生S2000电路分析
2021/03/02 无线电
php实现概率性随机抽奖代码
2016/01/02 PHP
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
2020/07/09 Javascript
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
python 换位密码算法的实例详解
2017/07/19 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
工作违纪检讨书
2014/02/17 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
年终奖发放方案
2014/06/02 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
班组拓展活动方案
2014/08/14 职场文书
师德师风的心得体会
2014/09/02 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
创先争优活动个人总结
2015/03/04 职场文书
实习单位推荐信
2015/03/27 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL