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 相关文章推荐
改变文件域的样式实现思路同时兼容ie、firefox
Oct 23 Javascript
原生js ActiveXObject获取execl里面的值
Nov 01 Javascript
jQuery针对各类元素操作基础教程
Aug 29 Javascript
异步JavaScript编程中的Promise使用方法
Jul 28 Javascript
jQuery+CSS实现简单切换菜单示例
Jul 27 Javascript
Javascript中常用的检测方法小结
Oct 08 Javascript
3种不同的ContextMenu右键菜单实现代码
Nov 03 Javascript
概述如何实现一个简单的浏览器端js模块加载器
Dec 07 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
Aug 16 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
Aug 23 Javascript
Angular CLI 安装和使用教程
Sep 13 Javascript
js this 绑定机制深入详解
Apr 30 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入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
php判断是否为json格式的方法
2014/03/04 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
微信API接口大全
2015/04/15 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
JavaScript获取服务器时间的方法详解
2016/12/11 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
Python中的Numpy入门教程
2014/04/26 Python
python实现弹窗祝福效果
2019/04/07 Python
手写一个python迭代器过程详解
2019/08/27 Python
实例代码讲解Python 线程池
2020/08/24 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
加拿大花店:1800Flowers.ca
2016/11/16 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
村级环境卫生整治方案
2014/05/04 职场文书
小组口号大全
2014/06/09 职场文书
2014年采购部工作总结
2014/11/20 职场文书
介绍信范文大全
2015/05/07 职场文书
信息技术研修心得体会
2016/01/08 职场文书