87,994
社区成员
发帖
与我相关
我的任务
分享
function fun2(){
}
表示定义了一个fun2的函数,和var a=2;没有区别,只是一个定义的是一个fun2的函数,一个定义的是a这个num类型。
fun4(fun2);
fun4(a);
上述两个fun4的调用,fun2和a处于同等定位,都是作为一个实参;那fun2和定义的function fun2(){}什么关系??
那你这里将fun2作为一个参数传给fun4函数,你不把fun2定义起来,你怎么传?你传什么???就是 var a=1;你不定义一下,你凭什么 fun4(a);
js引擎认为 fun2和function fun2(){} 的关系是什么? js引擎不想这么多...楼主问的感觉好高大上呀~~~~就是你定义了一个fun2函数,fun4(fun2)的时候拿来用了而已。
public sub fun(optional byval s as string = "")
end sub
//调用时,fun() 或者 fun("") 都可以
你理解js函数的所有参数都是optional就好了
你可以理解 fun2 是 function fun2() 的一个地址(这在C#里写成 addressof fun2)
简单做个测试
function fun2(){
alert(1);
}
var address_of_fun2 = fun2;
address_of_fun2();//有了函数地址,加个()就可以调用了