JavaScript console.dir和console.log之间的差异

JavaScript console.dir和console.log之间的差异

控制台对象:控制台对象提供对浏览器的调试控制台的访问,可以通过F12或ctrl+shift+j查看。控制台对象包含许多方法,其中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 = "Howdy GeeksforGeeks"
        var geek = { 
            book: "harrypotter", 
            price: "2000"
        }; 
        var geek2 = [10, 20, 30]; 
        console.log(str); 
        console.dir(str); 
        console.dir(geek); 
        console.log("geek (log) = ", geek); 
        console.dir(geek2); 
        console.log("geek2 (log) = ", geek2); 
  
        // Prints only string as dir() takes 
        // only one parameter. 
        console.dir("geek2 (dir) = ", geek2); 
    </script> 
</head> 
  
</html> 

输出:

JavaScript console.dir和console.log之间的差异

在上面的代码中, log() 打印对象的 toString 表示, 而 dir() 识别对象并仅打印其属性。

以上程序在chrome中运行,所以 log() 打印出树状结构和字符串信息,但如果在firefox中运行, log() 仅打印 toString 表示信息,而 dir() 在任何地方行为都相同。

从代码中可以看出, console.dir(“geek2 (dir) = “, geek2); 仅打印字符串部分,而不打印对象属性,因为dir() 只接受一个参数,并将字符串视为其传递给方法的唯一参数,而log() 可以接受任意数量的参数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程