简介alert()与console.log()的不同_javascript技巧

简单的说alert 是弹出提示而console.log是在调试工具里打日志,下面具体给大家列出alert()与console.log()的不同点,

[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    

原型链中toString()方法输出alert()和console.log()得到不同的结果

<script type="text/javascript">
var a = [1,2,3];
alert(a); //1,2,3
Array.prototype.toString = function(){
  return 'str';
}
alert(a); //str
</script>

<script type="text/javascript">
var a = [1,2,3];
console.log(a); //[1,2,3]
Array.prototype.toString = function(){
  return 'str';
}
console.log(a); //[1,2,3]
</script>

上面的代码输出的结果不一样的原因如下:

console.log() 可以打印任何类型的数据。而 alert() 只能输出string,如果alert输出是对象会自动调用 toString() 方法。如果想 console.log() 输出的与alert相同,需要调用 toString() :

console.log(obj. toString() );

和自己写不写toString()完全没有关系,你自己写的那个toStrong() 只是重写了对象默认的toString()方法。

如果你没有重写toString()方法时,alert() 也会调用默认的。

还是那句话: console.log() 可以打印任何类型的数据,并会因为你自己重写了toString(),而调用。如果log() 也只能打印string的话,那么console 的这个log 方法就没有存在的必要了。

主要是俩个函数所期望的数据类型不一样。alert()期望的数据类型是string型的。这就是相当于要把对象用在string语境中,自然就会做出相应的转换。console.log()显然是可以接受任何类型的数据。那他就不用转换。也就是说不用放在string语境中。那OBJ自然是他一开始的数据类型。

以上内容列出了alert()与console.log()的不同,有不同想法的朋友,欢迎提出,分享给大家,共同学习进步。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索console.log和alert
alert_console区别
console.log和alert、alert console.log、alert和console、alert console、javascript console,以便于您获取更多的相关知识。

时间: 2024-10-27 19:43:29

简介alert()与console.log()的不同_javascript技巧的相关文章

javascript中alert()与console.log()的区别_javascript技巧

[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]可以打印任

javascript的console.log()用法小结_javascript技巧

console.log 原先是 Firefox 的"专利",严格说是安装了 Firebugs 之后的 Firefox 所独有的调试"绝招". 这一招,IE8 学会了,不过用起来比 Firebugs 麻烦,只有在开启调试窗口(F12)的时候,console.log 才能出结果,不然就报错. 今天看到 Opera 也有个叫 dragonfly 的东东,用这东西查看 DOM,已经可以和 Firebug 媲美,然而还是不能用 console.log.于是有人就提供了这样两句

javascript 在firebug调试时用console.log的方法_javascript技巧

console.log(); 当你使用console.log()函数时,下面的firebug一定要打开,不然这函数在用firefox运行时无效且影响正常程序,如果用IE打开,将会出错. 第一个参数可以是一个包含格式化占位符输出的字符串,例如: console.log("The %s jumped over %d tall buildings", animal, count); 格式化字符串 类型 %s 字符串 %d, 整型 %i (暂不支持数字型) %f 浮点型 (暂不支持数字型) %

js调试工具Console命令详解_javascript技巧

一.显示信息的命令 复制代码 代码如下: <!DOCTYPE html> <html> <head> <title>常用console命令</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <script type="te

JavaScript中的console.trace()函数介绍_javascript技巧

调试JavaScript程序时,有时需要打印函数调用的栈信息,这可以通过使用console.trace()来实现.以下面的代码为例: 复制代码 代码如下: function doTask(){     doSubTask(1000,10000); }   function doSubTask(countX,countY){     for(var i=0;i<countX;i++){         for(var j=0;j<countY;j++){}     }     console.t

JS实现alert中显示换行的方法_javascript技巧

本文实例讲述了JS实现alert中显示换行的方法.分享给大家供大家参考,具体如下: 先来介绍一种比较复杂的方法,但这种方法使用起来对所有型号的浏览器都能任意分辨: //浏览器类型判定 function getOs() { if(navigator.userAgent.indexOf("MSIE")>0) { return "IE"; //InternetExplor } else if(isFirefox=navigator.userAgent.indexOf

如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框_javascript技巧

本文我将为大家介绍Bootstrap中的弹出窗口组件Modal,此组件简单易用,效果大气漂亮且很实用! 由于浏览器提供的alert和confirm框体验不好,而且浏览器没有提供一个标准的以对话框的形式显示自定义HTML的弹框函数,所以很多项目都会自定义对话框组件.本篇文章介绍自己在项目中基于bootstrap的modal组件,自定义alert,confirm和modal对话框的经验,相对比较简单实用,希望能对你有所参考价值. 1. 实例展示 详细的代码可通过前面给出的下载链接下载源码去了解,代码

JS中confirm,alert,prompt函数使用区别分析_javascript技巧

window.alert:参数,只有一个,显示警告框的信息; 无返回值. <script> window.alert("确定.") </script> window.confirm : 参数就只有一个.显示提示框的信息. 按确定,返回true; 按取消返回false. <script> var bln = window.confirm("确定吗?"); alert(bln) </script> window.promp

js实现两个值相加alert出来精确到指定位_javascript技巧

如:Number(4.2)+Number(9.2) 这两个值相加alert出来等于13.399999999999998,为什么? 如:Number(2.2)+Number(9.7) alert出来等于11.899999999999998 但是 像这样的 Number(2.3)+Number(9.9) alert出来等于12.2 . 这个值是我想要的. 为什么有的数值加起来会出现那么多的小数位呢,有的加起来又没有呢? 复制代码 代码如下: <html> <head></head