console.dir 和 console.log 的区别

Console 对象:Console 对象提供对浏览器调试控制台的访问,可以使用 F12 或 ctrl+shift+j 看到。Console 对象包含许多方法,其中 log()dir() 使用最多。
console.log()方法将控制台中对象的 toString 表示形式打印给用户。
语法:

console.log(object) or console.log("string", object) 

console.dir() 方法将控制台中指定对象的对象属性列表输出给用户。
语法:

console.dir(object) 

简单来说,console.log() 以字符串表示形式返回对象,console.dir() 将对象识别为对象并输出其属性。log()dir() 都将字符串作为字符串返回。

例子:

<!DOCTYPE html> <html>  <head>      <script>         var str = "Hello, Yiibai.com"/n        var varObj = {             book: "harrypotter",             price: "2000"/n        };         var varObj2 = [10, 20, 30];         console.log(str);         console.dir(str);         console.dir(varObj);         console.log("geek (log) = ", varObj);         console.dir(varObj2);         console.log("varObj2 (log) = ", varObj2);          // Prints only string as dir() takes         // only one parameter.         console.dir("varObj2 (dir) = ", varObj2);     </script> </head>  </html> 

在上面的代码中,log() 打印对象的 toString 表示,而 dir() 识别对象并仅打印其属性。
上面的程序是在 chrome 中运行的,所以 log() 会打印树以及字符串信息,但是如果在 firefox 中运行 log() 只会打印出 toString 表示信息,而 dir() 在任何地方的行为都是一样的。
正如您在代码中看到的那样 console.log("varObj2 (log) = ", varObj2); 只打印字符串部分,但不打印对象属性,因为 dir() 只接受一个参数,并将字符串视为传递给方法的唯一参数,而 log() 接受任意数量的参数。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264516.html

(0)
上一篇 2022年6月7日
下一篇 2022年6月7日

相关推荐

发表回复

登录后才能评论