我们在做js调试的时候使用 alert 可以显示信息,调试程序,alert 弹出窗口会中断程序, 如果要在循环中显示信息,手点击关闭窗口都累死。而且 alert 显示对象永远显示为[object ]。 自己写的 log 虽然可以显示一些 object 信息,但很多功能支持都没有 console 好

[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的实际执行推迟,相当于“惰性”求值,遇上数组、对象这样的引用类型就出上面的问题了。

javascript中alert()与console.log()的区别的更多相关文章

  1. 简述alert和console.log的区别

    生活中还是得有发现美好和差别的眼睛~~ 学习前端那么久既然还不知道alert和console.log的差别~~~~ 蓝瘦,香菇~~~ 本菜鸟一直以为alert和console.log其实是一样的用法, ...

  2. JavaScript中的alert()与console.log()的区别

    1.alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. ale ...

  3. alert()与console.log()的区别

    [1]alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. al ...

  4. alert 和 console.log的区别

    出走半月,一直以为 console.log 和 alert 的用法是一样的,只是表现的形式不同,alert 是以弹框的形式出现,console.log 是在后台打印输出. 但是今天在写东西的时候,发现 ...

  5. Eclipse中javascript文件 clg 变为console.log();

    Eclipse中javascript文件 clg 变为console.log(); window>preferance>JavaScript>Editor>Templates ...

  6. JavaScript中const、var和let区别浅析

    在JavaScript中有三种声明变量的方式:var.let.const.下文给大家介绍js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始 ...

  7. JavaScript调试技巧之console.log()详解

    JavaScript调试技巧之console.log()详解 对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会阻 ...

  8. alert与console.log

    1.alert在页面中弹出 console.log是在控制台显示 例子 var aa="Silence"; alert(typeof(aa)); console.log(typeo ...

  9. 简介alert()与console.log()的不同

    简单的说alert 是弹出提示而console.log是在调试工具里打日志,下面具体给大家列出alert()与console.log()的不同点, [1]alert() [1.1]有阻塞作用,不点击确 ...

随机推荐

  1. 7款HTML5的精美应用教程让你立即爱上HTML5

    1,HTML5/jQuery雷达动画图表图表配置十分简单 分享一款很特别的HTML5图表,它是利用HTML5和jQuery的雷达动画图表,图表数据在初始化的时候带有一定动画. 在线演示 源码下载 2, ...

  2. 理解ClassLoader基本原理

    当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:        bootstrap classloader                 |        exte ...

  3. Windows phone 中一些实用的控件

    一.TextBlock:这个控件其实就是Label控件. <TextBlock x:Name="PageTitle" Text="page name" M ...

  4. 《boot分区监控的小脚本》

    #!/bin/bash TEST=`df | grep "boot" |awk '{print $5}' |cut -f1 -d"%"` if [ $TEST ...

  5. IP进制站群原理

    百度搜索:“inurl:0×00”,会发现全是以八进制.十六进制形式显示的域名(如下图),当点击后,浏览器会自动将这些域名转换为十进制的ip.这种方式在黑帽圈目前挺火爆的,用于做长尾词排名,可以带来可 ...

  6. Ubuntu16.04.1 安装Redis-Cluster

    Redis在3.0版正式引入了集群这个特性.Redis集群是一个分布式(distributed).容错(fault-tolerant)的 Redis内存K/V服务, 集群可以使用的功能是普通单机 Re ...

  7. js禁止页面复制 禁用页面右键菜单的代码

    js实现禁止页面复制功能.禁用页面右键菜单等功能.  <body oncontextmenu="return false">禁用网页右键菜单,但是仍然可以使用快捷键复制 ...

  8. Js 和 PHP 中保留小数点后X位数的方法 toFixed、round、number_format、sprintf

    在 Javacript 中保留小数点后两位数的方法为 toFixed(2),其中的2为保留两位,写多少就保留多少了,满5进1. Javacript例子: var num = 24.54789523; ...

  9. 批量修改文件后缀(Python)

    近期下载了很多各种教程, 但是不幸的是后缀名都是 ".mp4", 而本人喜欢 ".rmvb" 后缀,由于有轻微洁癖, 受不了后面的 ".mp4&quo ...

  10. Django Form的学习

    django.forms 是Django处理form的库      本质上可以直接通过对HttpRequest达到同样的效果,但是django.from带来更便捷的处理方式.功能有几点 通过form类 ...