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 相关文章推荐
JavaScript中的Window窗口对象
Jan 16 Javascript
jquery用data方法获取某个元素上的事件
Jun 23 Javascript
一个不错的js html页面倒计时可精确到秒
Oct 22 Javascript
JavaScript极简入门教程(三):数组
Oct 25 Javascript
浅谈window对象的scrollBy()方法
Jul 15 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
Jun 13 Javascript
jQuery动态修改字体大小的方法【测试可用】
Sep 09 Javascript
AngularJS入门教程之Helloworld示例
Dec 25 Javascript
node.js的事件机制
Feb 08 Javascript
深入理解Javascript箭头函数中的this
Feb 13 Javascript
关于Vue实现组件信息的缓存问题
Aug 23 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
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
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php绘制一个扇形的方法
2015/01/24 PHP
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
JS继承用法实例分析
2015/02/05 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
vuex实现购物车功能
2020/06/28 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
Python Mysql自动备份脚本
2008/07/14 Python
python encode和decode的妙用
2009/09/02 Python
用python找出那些被“标记”的照片
2017/04/20 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
python中subprocess批量执行linux命令
2018/04/27 Python
PyCharm代码格式调整方法
2018/05/23 Python
python对象与json相互转换的方法
2019/05/07 Python
django 单表操作实例详解
2019/07/30 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
Python笔记之工厂模式
2019/11/20 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
学习雷锋演讲稿
2014/05/10 职场文书
市场营销专业自荐书
2014/06/10 职场文书
工厂车间标语
2014/06/19 职场文书