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 相关文章推荐
Javascript this 的一些学习总结
Aug 31 Javascript
JQuery each()函数如何优化循环DOM结构的性能
Dec 10 Javascript
jQuery操作cookie方法实例教程
Nov 25 Javascript
jquery获取url参数及url加参数的方法
Oct 26 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
Jun 06 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
Dec 13 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
Jan 04 Javascript
input type=file 选择图片并且实现预览效果的实例
Oct 26 Javascript
vue中添加mp3音频文件的方法
Mar 02 Javascript
javascript系统时间设置操作示例
Jun 17 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
Sep 17 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
如何使用动态共享对象的模式来安装PHP
2006/10/09 PHP
用PHP实现小型站点广告管理
2006/10/09 PHP
php 301转向实现代码
2008/09/18 PHP
php实现微信支付之退款功能
2018/05/30 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
文本加密解密
2006/06/23 Javascript
永不消失的title提示代码
2007/02/15 Javascript
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
Python实现高效求解素数代码实例
2015/06/30 Python
Python中turtle作图示例
2017/11/15 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
Python使用OpenCV进行标定
2018/05/08 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
python字典改变value值方法总结
2019/06/21 Python
对python 调用类属性的方法详解
2019/07/02 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
python3 配置logging日志类的操作
2020/04/08 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
唐山大地震的观后感
2015/06/05 职场文书
Python基于百度API识别并提取图片中文字
2021/06/27 Python
pandas求平均数和中位数的方法实例
2021/08/04 Python