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 事件的一些重要说明
Oct 25 Javascript
关于JavaScript与HTML的交互事件
Apr 12 Javascript
Table冻结表头示例代码
Aug 20 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 Javascript
老生常谈angularjs中的$state.go
Apr 24 Javascript
微信小程序实现全局搜索代码高亮的示例
Mar 30 Javascript
React+Webpack快速上手指南(小结)
Aug 15 Javascript
vuejs实现折叠面板展开收缩动画效果
Sep 06 Javascript
微信小程序HTTP请求从0到1封装
Sep 09 Javascript
微信小程序实现音乐播放页面布局
Dec 11 Javascript
Vue 简单实现前端权限控制的示例
Dec 25 Vue.js
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实现递归复制整个文件夹的类实例
2015/08/03 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
Python 时间处理datetime实例
2008/09/06 Python
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
Pytorch之contiguous的用法
2019/12/31 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
清洁工表扬信
2014/01/08 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
促销活动总结怎么写
2014/06/25 职场文书
护士节活动总结
2014/08/29 职场文书
Html5生成验证码的示例代码
2021/05/10 Javascript
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
详解Go与PHP的语法对比
2021/05/29 PHP
Java 在生活中的 10 大应用
2021/11/02 Java/Android