javascript中alert()与console.log()的区别


Posted in Javascript onAugust 26, 2015

[1]alert()

    [1.1]有阻塞作用,不点击确定,后续代码无法继续执行

    [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法

        e.g. alert([1,2,3]);//'1,2,3'

    [1.3]alert不支持多个参数的写法,只能输出第一个值

        e.g. alert(1,2,3);//1

[2]console.log()

    [2.1]在打印台输出

    [2.2]可以打印任何类型的数据

        e.g. console.log([1,2,3]);//[1,2,3]

    [2.3]支持多个参数的写法

        e.g. console.log(1,2,3)// 1 2 3

alert 和 console.log 的结果不同?

score = [1,2,3];
sortedScore = [];
console.log(score);
sortedScore = score.sort(sortNumber)
console.log(sortedScore);
function sortNumber(a, b) {
  return b - a;
}

以上输出:
[3, 2, 1]
[3, 2, 1]

但是改成alert:

score = [1,2,3];
sortedScore = [];
alert(score);
sortedScore = score.sort(sortNumber)
alert(sortedScore);
function sortNumber(a, b) {
  return b - a;
}

以上输出:
1, 2, 3
3, 2, 1

为什么会这样?不应该都是:
1, 2, 3
3, 2, 1
吗?

经过一番研究发现是chrome实现的问题,对输出做了不太合适的优化,把console.log的实际执行推迟,相当于“惰性”求值,遇上数组、对象这样的引用类型就出上面的问题了。

https://bugs.webkit.org/show_bug.cgi?id=35801

这是一个很有历史的 BUG,上个月在开发版已经修复了。

Javascript 相关文章推荐
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
Jul 21 Javascript
基于jQuery实现点击同时更改两个iframe的网址
Jul 01 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
Feb 03 Javascript
JavaScript中提前声明变量或函数例子
Nov 12 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
smartupload实现文件上传时获取表单数据(推荐)
Dec 12 Javascript
vue 设置路由的登录权限的方法
Jul 03 Javascript
代码分析vue中如何配置less
Sep 28 Javascript
在Vue中使用axios请求拦截的实现方法
Oct 25 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 #Javascript
基于jQuery实现的QQ表情插件
Aug 25 #Javascript
js中javascript:void(0) 真正含义
Nov 05 #Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 #Javascript
js焦点文字滚动效果代码分享
Aug 25 #Javascript
JS实现灵巧的下拉导航效果代码
Aug 25 #Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
Aug 25 #Javascript
You might like
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
php创建sprite
2014/02/11 PHP
8个PHP数组面试题
2015/06/23 PHP
PHP处理会话函数大总结
2015/08/05 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
Javascript Math对象
2009/08/13 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
python的id()函数介绍
2013/02/10 Python
改进Django中的表单的简单方法
2015/07/17 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
高中生毕业自我鉴定范文
2013/12/22 职场文书
供货协议书范本
2014/04/22 职场文书
心得体会的写法
2014/09/05 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
订货会主持词
2015/07/01 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android
Linux中各个目录的作用与内容
2022/06/28 Servers
设置IIS Express并发数
2022/07/07 Servers