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 相关文章推荐
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
Apr 26 Javascript
JQuery的$命名冲突详细解析
Dec 28 Javascript
关闭ie窗口清除Session的解决方法
Jan 10 Javascript
邮箱下拉自动填充选择示例代码附图
Apr 03 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
May 08 Javascript
angularjs客户端实现压缩图片文件并上传实例
Jul 06 Javascript
jquery判断对象是否为空并遍历对象的简单实例
Jul 26 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
Sep 22 Javascript
详解基于node的前端项目编译时内存溢出问题
Aug 01 Javascript
React教程之Props验证的具体用法(Props Validation)
Sep 04 Javascript
React 组件转 Vue 组件的命令写法
Feb 28 Javascript
Javascript原生ajax请求代码实例
Feb 20 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
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
一个简洁的多级别论坛
2006/10/09 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
Python操作Excel把数据分给sheet
2020/05/20 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
销售心得体会
2014/01/02 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
公开服务承诺制度
2014/03/26 职场文书
建筑横幅标语
2014/10/09 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书