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 相关文章推荐
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
Jan 30 Javascript
setTimeout与setInterval在不同浏览器下的差异
Jan 24 Javascript
JavaScript中清空数组的三种方法分享
Apr 07 Javascript
Js获取下拉框选定项的值和文本的实现代码
Feb 26 Javascript
Node.js中的缓冲与流模块详细介绍
Feb 11 Javascript
jQuery实现复选框批量选择与反选的方法
Jun 17 Javascript
vue打包后显示空白正确处理方法
Nov 01 Javascript
JavaScript事件对象event用法分析
Jul 27 Javascript
关于vue编译版本引入的问题的解决
Sep 17 Javascript
在vue中使用setInterval的方法示例
Apr 16 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
Sep 26 Javascript
Vue v-model组件封装(类似弹窗组件)
Jan 08 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查看session内容的函数
2008/08/27 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
纯js实现动态时间显示
2020/09/07 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
使用webpack搭建vue项目实现脚手架功能
2019/03/15 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
各个系统下的Python解释器相关安装方法
2015/10/12 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python使用回溯法子集树模板解决迷宫问题示例
2017/09/01 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
python远程邮件控制电脑升级版
2019/05/23 Python
python多进程重复加载的解决方式
2019/12/13 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
python实现学生成绩测评系统
2020/06/22 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
工厂门卫岗位职责
2013/11/25 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL