문제

Exactly, is console.log() a function? Why do these following two code snippets have different output?

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');
도움이 되었습니까?

해결책

Yes, console.log is a function.

The first snippet uses the expected syntac for setTimeout. The second calls console.log inline, which returns undefined. That comes the first argument to setTimeout. That explains the different timing of when End of timeout appears.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top