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提供睡眠功能(sleep) 自编译JS引擎
Aug 16 Javascript
js上传图片及预览功能实例分析
Apr 24 Javascript
基于React.js实现原生js拖拽效果引发的思考
Mar 30 Javascript
Bootstrap每天必学之导航组件
Apr 25 Javascript
JS正则表达式之非捕获分组用法实例分析
Dec 28 Javascript
JavaScript字符集编码与解码详谈
Feb 02 Javascript
详解JavaScript RegExp对象
Feb 04 Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 Javascript
浅谈vue中.vue文件解析流程
Apr 24 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
Jul 13 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
Jan 28 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+MYSQL 出现乱码的解决方法
2008/08/08 PHP
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
vue实现分页栏效果
2019/06/28 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
九步学会Python装饰器
2015/05/09 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
python实现感知机模型的示例
2020/09/30 Python
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
标准导师推荐信(医学类)
2013/10/28 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
Vue3中的Refs和Ref详情
2021/11/11 Vue.js
JavaScript 对象创建的3种方法
2021/11/17 Javascript
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL
create-react-app开发常用配置教程
2022/06/25 Javascript