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 showModalDialog,open取得父窗口的方法
Mar 10 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
『jQuery』取指定url格式及分割函数应用
Apr 22 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
Nov 30 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
Mar 30 Javascript
ES6新特性七:数组的扩充详解
Apr 21 Javascript
Bootstrap Table使用整理(三)
Jun 09 Javascript
element ui里dialog关闭后清除验证条件方法
Feb 26 Javascript
详解用Webpack与Babel配置ES6开发环境
Mar 12 Javascript
vue实现菜单切换功能
May 08 Javascript
详解一些适用于Node.js的命名约定
Dec 08 Javascript
深入详解JS函数的柯里化
Jun 09 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
论建造顺序的重要性
2020/03/04 星际争霸
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
浅谈Vue.js
2017/03/02 Javascript
javascript数据结构中栈的应用之符号平衡问题
2017/04/11 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
python执行精确的小数计算方法
2019/01/21 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
部队领导证婚词
2014/01/12 职场文书
业务员薪酬管理制度
2014/01/15 职场文书
艺术学院毕业生自我评价
2014/03/02 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
优秀班主任材料
2014/12/16 职场文书
会议主持词开场白
2015/05/28 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis