技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

【实例演示】console.dir和console.log的区别

作者:admin    时间:2022-6-8 0:49:55    浏览:

控制台(console)为前端调试带来极大的方便,JavaScript调试,HTML调试,CSS调试,可视化的调试方式,我现在越来越喜欢控制台(console)这个工具了。今天在调试一个JavaScript程序时,用到了console.dirconsole.log,于是我就在本文把这两者的区别总结一下。

console 对象

console 对象提供对浏览器调试控制台的访问,可以使用F12ctrl+shift+j来查看。

console.log

console.log()方法将控制台中对象的 toString 表示形式打印给用户。

句法:

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

console.dir()

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

句法:

console.dir(object)

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

例子:

var str = "Hello WebKaka"
var site = {
  name: "webkaka",
  title: "卡卡网"
};
var arr = [10, 20, 30];
console.log(str);
console.dir(str);
console.dir(site);
console.log("site (log) = ", site);
console.dir(arr);
console.log("arr (log) = ", arr);
  
// dir() 只有一个参数时,才打印字符串
console.dir("arr (dir) = ", arr);

demodownload

执行结果

console.dir和console.log的区别 

在上面的代码中,log()以字符串形式打印对象,同时dir()识别对象并仅打印其属性。

上面的程序是在 chrome 中运行的,所以log()会打印树以及字符串信息,但是如果在 firefox 中运行log()只会打印出字符串信息,而dir()在任何地方的行为都是一样的。

正如你在代码中看到的那样console.dir("arr (dir) = ", arr); 只打印字符串部分,但不打印对象属性,因为 dir() 只接受一个参数,并将字符串视为传递给方法的唯一参数,而 log() 接受任意数量的参数。 

总结

本文介绍了控制台console.dirconsole.log的区别,这两个命令在前端调试时常常用到,但这两者的用途却不一样,大多数情况下使用console.log来输出字符串形式的结果,调试时有时需要查看对象属性,则要用上console.dir命令。

相关文章
    x
    • 站长推荐
    /* 左侧显示文章内容目录 */