函数也是一种值
在JavaScript中,函数也是一种值,可以赋值给变量,也可以作为参数传递。
1 |
|
上面两种函数写法,效果是不同的。
t1是函数声明。尽管全局也能得到一个t1变量,打印t1,值是t1函数。
t2是一个赋值过程,值是右侧的表达式的返回结果,即函数本身。
也就是说,function () {} 在JavaScript解释器看来,就和 1+5 或者 2*3一样,是一个表达式,返回一个结果。
因此,t1,t2 两种方法在词法分析时,有着本质区别。
前者,在词法分析时,就发挥作用。
后者,在运行时,才发挥作用。
jquery 也是从这种原理去设计的。
函数表达式的执行
1 |
|
如果我们不想赋值,又想调用怎么办呢?
即时函数
即时函数,也叫匿名函数立即执行。
1 |
|
June 10, 2018