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 相关文章推荐
JS来动态的修改url实现对url的增删查改
Sep 05 Javascript
关于 jQuery Easyui异步加载tree的问题解析
Dec 06 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
Jun 21 Javascript
JavaScript字符串检索字符的方法
Jun 23 Javascript
react native带索引的城市列表组件的实例代码
Aug 08 Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
Mar 09 Javascript
JavaScript EventEmitter 背后的秘密 完整版
Mar 29 Javascript
JavaScript函数apply()和call()用法与异同分析
Aug 10 Javascript
jQuery使用jsonp实现百度搜索的示例代码
Jul 08 jQuery
vue实现倒计时功能
Mar 24 Vue.js
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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
PHP中的日期及时间
2006/11/23 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
php数据库密码的找回的步骤
2011/01/12 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
jquery时间下拉框小例子
2013/04/15 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
python pygame实现五子棋小游戏
2020/10/26 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
python绘制规则网络图形实例
2019/12/09 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
村官工作鉴定评语
2014/01/27 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
陈欧广告词
2014/03/14 职场文书
实习证明模板
2015/06/16 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android