{
  "source": "console.markdown",
  "globals": [
    {
      "textRaw": "控制台",
      "name": "控制台",
      "desc": "<pre><code>稳定度: 4 - 冻结</code></pre>\n<ul>\n<li><p>{Object}</p>\n</li>\n<li><p>{Object}</p>\n</li>\n</ul>\n<p>For printing to stdout and stderr.  Similar to the console object functions\nprovided by most web browsers, here the output is sent to stdout or stderr.\n\n</p>\n<p>用于向 stdout 和 stderr 打印字符。类似于大部分 Web 浏览器提供的 console 对象函数，在这里则是输出到 stdout 或 stderr。\n\n</p>\n<p>The console functions are synchronous when the destination is a terminal or\na file (to avoid lost messages in case of premature exit) and asynchronous\nwhen it&apos;s a pipe (to avoid blocking for long periods of time).\n\n</p>\n<p>当输出目标是一个终端或者文件时,console函数是同步的(为了防止过早退出时丢失信息).当输出目标是一个管道时它们是异步的(防止阻塞过长时间).\n\n</p>\n<p>That is, in the following example, stdout is non-blocking while stderr\nis blocking:\n\n</p>\n<p>也就是说，在下面的例子中，stdout 是非阻塞的，而 stderr 则是阻塞的。\n\n</p>\n<pre><code>$ node script.js 2&gt; error.log | tee info.log</code></pre>\n<p>In daily use, the blocking/non-blocking dichotomy is not something you\nshould worry about unless you log huge amounts of data.\n\n</p>\n<p>在日常使用中，您不需要太担心阻塞/非阻塞的差别，除非您需要记录大量数据。\n\n</p>\n",
      "type": "global",
      "methods": [
        {
          "textRaw": "console.log([data], [...])",
          "type": "method",
          "name": "log",
          "desc": "<p>Prints to stdout with newline. This function can take multiple arguments in a\n<code>printf()</code>-like way. Example:\n\n</p>\n<p>向 stdout 打印并新起一行。这个函数可以像 <code>printf()</code> 那样接受多个参数，例如：\n\n</p>\n<pre><code>console.log(&apos;count: %d&apos;, count);</code></pre>\n<p>If formatting elements are not found in the first string then <code>util.inspect</code>\nis used on each argument.  See [util.format()][] for more information.\n\n</p>\n<p>如果在第一个字符串中没有找到格式化元素，那么 <code>util.inspect</code> 将被应用到各个参数。详见 [util.format()][]。\n\n</p>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "data",
                  "optional": true
                },
                {
                  "name": "...",
                  "optional": true
                }
              ]
            }
          ]
        },
        {
          "textRaw": "console.info([data], [...])",
          "type": "method",
          "name": "info",
          "desc": "<p>Same as <code>console.log</code>.\n\n</p>\n<p>同 <code>console.log</code>。\n\n</p>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "data",
                  "optional": true
                },
                {
                  "name": "...",
                  "optional": true
                }
              ]
            }
          ]
        },
        {
          "textRaw": "console.error([data], [...])",
          "type": "method",
          "name": "error",
          "desc": "<p>Same as <code>console.log</code> but prints to stderr.\n\n</p>\n<p>同 <code>console.log</code>，但输出到 stderr。\n\n</p>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "data",
                  "optional": true
                },
                {
                  "name": "...",
                  "optional": true
                }
              ]
            }
          ]
        },
        {
          "textRaw": "console.warn([data], [...])",
          "type": "method",
          "name": "warn",
          "desc": "<p>Same as <code>console.error</code>.\n\n</p>\n<p>同 <code>console.error</code>。\n\n</p>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "data",
                  "optional": true
                },
                {
                  "name": "...",
                  "optional": true
                }
              ]
            }
          ]
        },
        {
          "textRaw": "console.dir(obj)",
          "type": "method",
          "name": "dir",
          "desc": "<p>Uses <code>util.inspect</code> on <code>obj</code> and prints resulting string to stdout. This function\nbypasses any custom <code>inspect()</code> function on <code>obj</code>.\n\n</p>\n<p>对 <code>obj</code> 使用 <code>util.inspect</code> 并将结果字符串输出到 stdout。这个函数会忽略 <code>obj</code> 上的任何自定义 <code>inspect()</code>。\n\n</p>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "obj"
                }
              ]
            }
          ]
        },
        {
          "textRaw": "console.time(label)",
          "type": "method",
          "name": "time",
          "desc": "<p>Mark a time.\n\n</p>\n<p>标记一个时间点。\n\n</p>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "label"
                }
              ]
            }
          ]
        },
        {
          "textRaw": "console.timeEnd(label)",
          "type": "method",
          "name": "timeEnd",
          "desc": "<p>Finish timer, record output. Example:\n\n</p>\n<p>结束计时器，记录输出。例如：\n\n</p>\n<pre><code>console.time(&apos;100-elements&apos;);\nfor (var i = 0; i &lt; 100; i++) {\n  ;\n}\nconsole.timeEnd(&apos;100-elements&apos;);</code></pre>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "label"
                }
              ]
            }
          ]
        },
        {
          "textRaw": "console.trace(label)",
          "type": "method",
          "name": "trace",
          "desc": "<p>Print a stack trace to stderr of the current position.\n\n</p>\n<p>打印当前位置的栈跟踪到 stderr。\n\n</p>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "label"
                }
              ]
            }
          ]
        },
        {
          "textRaw": "console.assert(expression, [message])",
          "type": "method",
          "name": "assert",
          "desc": "<p>Same as [assert.ok()][] where if the <code>expression</code> evaluates as <code>false</code> throw an\nAssertionError with <code>message</code>.\n\n</p>\n<p>与 [assert.ok()][] 相同，如果 <code>expression</code> 执行结果为 <code>false</code> 则抛出一个带上 <code>message</code> 的 AssertionError。\n\n</p>\n",
          "signatures": [
            {
              "params": [
                {
                  "name": "expression"
                },
                {
                  "name": "message",
                  "optional": true
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}