【问题标题】:node.js: Is console.log() a function? [duplicate]node.js:console.log() 是一个函数吗? [复制]
【发布时间】:2014-05-13 00:05:45
【问题描述】:

确切地说,console.log() 是一个函数吗?为什么下面这两个代码sn-ps有不同的输出?

function delay(x) {
    console.log('Start of timeout');
    return x;
};
setTimeout(function(){console.log('End of timeout');}, delay(5000));
console.log('Start to do something else');

.

function delay(x) {
    console.log('Start of timeout');
    return x;
};
setTimeout(console.log('End of timeout'), delay(5000));  // ???????
console.log('Start to do something else');

【问题讨论】:

  • 在您的第一个示例中,您传递 setTimeout 一个稍后调用的函数,但在您的第二个示例中,您调用 console.log 并将返回值传递给 setTimeout 函数。跨度>
  • setTimeout的第一个参数是一个函数,在第一个sn -p你传函数,ok。在第二个中,您正在调用函数,因此您不是将函数作为参数传递,而是函数返回的值

标签: javascript node.js function console.log


【解决方案1】:

是的,console.log 是一个函数。

第一个 sn-p 使用 setTimeout 的预期语法。第二个调用console.log inline,它返回undefined。这是setTimeout 的第一个参数。这就解释了End of timeout 出现的不同时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2014-04-22
    • 2020-05-16
    • 2020-11-11
    • 2016-11-27
    • 2011-09-25
    • 1970-01-01
    相关资源
    最近更新 更多