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 tips提示效果
Apr 03 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
Oct 04 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
Nov 06 Javascript
javascript图片滑动效果实现
Jan 28 Javascript
JavaScript数据结构与算法之栈与队列
Jan 29 Javascript
利用vue实现模态框组件
Dec 19 Javascript
jQuery.ajax向后台传递数组问题的解决方法
May 12 jQuery
JS实现碰撞检测的方法分析
Jan 19 Javascript
vue左侧菜单,树形图递归实现代码
Aug 24 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 Javascript
微信小程序自定义支持图片的弹窗
Dec 21 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页面编码的两种方法示例介绍
2014/03/03 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
用ADODB.Stream转换
2007/01/22 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
Python简单定义与使用二叉树示例
2018/05/11 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
Python基于read(size)方法读取超大文件
2020/03/12 Python
Python如何将模块打包并发布
2020/08/30 Python
过滤器的用法
2013/10/08 面试题
计算机应用毕业生自荐信
2013/10/23 职场文书
学习党课思想汇报
2013/12/29 职场文书
人力资源经理自我评价
2014/01/04 职场文书
《木笛》教学反思
2014/03/01 职场文书
学校师德承诺书
2014/05/23 职场文书
会计专业求职信范文
2015/03/19 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
详解在OpenCV中如何使用图像像素
2022/03/03 Python