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 相关文章推荐
改善用户体验的五款jQuery插件分享
May 22 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
Dec 05 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 Javascript
angular实现商品筛选功能
Feb 01 Javascript
javascript DOM的详解及实例代码
Mar 06 Javascript
Angular实现下载安装包的功能代码分享
Sep 05 Javascript
JS实现闭包中的沙箱模式示例
Sep 07 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
Angularjs实现数组随机排序的方法
Oct 02 Javascript
Vue数字输入框组件示例代码详解
Jan 15 Javascript
微信小程序利用button控制条件标签的变量问题
Mar 15 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
linux iconv方法的使用
2011/10/01 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
11种ASP连接数据库的方法
2015/09/18 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
Python 解析XML文件
2009/04/15 Python
python进阶教程之异常处理
2014/08/30 Python
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
python实现人工蜂群算法
2020/09/18 Python
10个示例带你掌握python中的元组
2020/11/23 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
体育教育个人自荐信范文
2013/12/01 职场文书
合同意向书范本
2014/07/30 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
自我查摆剖析材料
2014/10/11 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
Python制作动态字符画的源码
2021/08/04 Python
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android
ICOM R71E和R72E图文对比解说
2022/04/07 无线电