学习笔记:js里调用函数时,函数名带括号与不带括号的区别

function fun(){
return 5
}
var a=fun
var b=fun()

函数是function引用类型的实例,函数是一个对象,而对象是保存在内存中的,函数名则是指向这个对象的指针。

var a = fun 表示把函数名fun这个指针拷贝一份给变量a,用于传参,此时不是得到函数的结果,因为不会运行函数体代码。它只是传递了函数体所在的地址位置。这样做的好处是可以在需要的时候找到函数并执行。
var b=fun()函数名后面加上圆括号就表示立即调用(执行)这个函数里面的代码(花括号部分的函数体代码),表示的是函数的返回值。另外,还可以在函数体后面加圆括号表示立即调用这个函数,(function fun(){
return 5
})()

你可能感兴趣的:(js中函数调用注意项)