node.js:console.log()是一个函数吗?

时间:2014-05-13 00:05:46

标签: javascript node.js function console.log

确切地说,console.log()是一个函数吗?为什么以下两个代码片段的输出有不同?

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');

1 个答案:

答案 0 :(得分:1)

是的,console.log是一个功能。

第一个代码段使用setTimeout的预期语法。第二个调用console.log内联,返回undefined。这是setTimeout的第一个论点。这解释了End of timeout何时出现的不同时间。