确切地说,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');
答案 0 :(得分:1)
是的,console.log是一个功能。
第一个代码段使用setTimeout
的预期语法。第二个调用console.log
内联,返回undefined
。这是setTimeout
的第一个论点。这解释了End of timeout
何时出现的不同时间。