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 相关文章推荐
火狐textarea输入法的bug的触发及解决
Jul 24 Javascript
javascript实现切换td中的值
Dec 05 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
js实现人民币大写金额形式转换
Apr 27 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
May 18 Javascript
分享一个原生的JavaScript拖动方法
Sep 25 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
基于vuejs实现一个todolist项目
Apr 11 Javascript
jQuery ajax动态生成table功能示例
Jun 14 jQuery
vue通过点击事件读取音频文件的方法
May 30 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
Sep 16 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
PHP版自动生成文章摘要
2008/07/23 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
利用Python演示数型数据结构的教程
2015/04/03 Python
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
深入浅析python 中的匿名函数
2018/05/21 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
使用python计算三角形的斜边例子
2020/04/15 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
四好少年事迹材料
2014/01/12 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
会计顶岗实习心得
2014/01/25 职场文书
简历中自我评价怎么写
2014/02/12 职场文书
结婚保证书
2015/01/16 职场文书
村党组织公开承诺书
2015/04/30 职场文书
在人间读书笔记
2015/06/30 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
创业计划书之废品回收
2019/09/26 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL
gateway网关接口请求的校验方式
2021/07/15 Java/Android
mysql脏页是什么
2021/07/26 MySQL