函数名称后面加上括号就代表调用了一次这个函数,得到的结果要么是执行函数后的返回值,要么是执行过函数一次,没有返回值。
函数不加括号,只是代表了函数的引用,因为一个函数是一个function类型的实例,他是一个对象,函数名是一个指针,指向了定义的函数,函数名不加括号通常用于传参,因为代表的是一个地址。
function callSomeFunction(someFunction, someArgument){ return someFunction(someArgument); } function add10(num){ return num + 10; } var result1=callSomeFunction(add10,10); console.log(result1); function getGreeting(name){ return "hello, " + name; } var result2=callSomeFunction(getGreeting,"zhangsan"); console.log(result2);比如上面要访问函数的指针,而不执行函数的话,比如去掉函数名称后面的那对圆括号,因此上面传递的是add10和getGreeting而不是执行他们之后的结果。