关于是否使用括号的例子:
function test() {
console.log('this is a test');
return 100;
}
console.log(test); // [Function: test]
console.log(test()); // this is a test
// 100
如果想看函数的具体写法,可以使用test.toString()哦~
是否使用()的区别:
- 使用(test()):执行函数体内容,并且返回该函数的返回值
- 不使用(test):不执行函数体内容,所以就算函数有返回值,也不会有返回值。函数名作为函数的指针,将整个函数体传过去,在需要的时候再执行函数体,如:
const mineReadFile = util.promisify(fs.readFile); // util.promisify返回一个Promise的版本
- 注意: js中的回调函数是通过函数引用,故不使用()(fs.readFile)