1.匿名函数
我们将首先介绍匿名函数。一个匿名函数就是一个没有名字的函数。
你可以认为他们是一次性函数。当你只需要用一次某个函数式,他们就特别有用。通过使用匿名函数,没有必要把函数一直放在内存中,所以使用匿名函数更加有效率。

例Example:

下面两个函数处理同样的事情,而average在给z赋值结束之后一直保留——但匿名函数则不会。

clipboard.png
2.函数作为值

clipboard.png
从这里可以得出一个结论,函数是一个值就像字符串、数字或数组一样。这还出现几个问题:

我是否可以把函数作为参数传递?
可以,见下面的例子。
是否可以实时生成函数?
当然了,这是一个高级的主题,它可以通过eval函数来完成。
例:

这个例子演示了如何把函数作为参数传递。

clipboard.png
3.两种方式调用函数
在JavaScript中,有两种调用函数的方式。一般的方式是把参数放在括号中,如alert(42)。另一种方式是同时把函数和参数都放在括号中,如(alert)(42)。
例:
alert(42);
(alert) (42);
(function(x) { alert(x-13); }) (55);
为什么函数两边的括号很重要:如果你写了括号,那么在括号中的代码就会被先计算。在计算之后,括号所在的地方就会有一个值。这个值可能是一个字符串、一个数字或一个函数。
4.“短路”条件调用
现在我们将学习如何使用“短路”条件调用。使用这个方法可以缩短源代码同时代码也变得更加可读。

例:这个语法并不是用在左表达式上,而是用在右表达式上。

var f = false; var t = true;
var z;
if(f)

z = 4;

else if(t)

z = 2;

alert(z);

var f = false; var t = true;
var z = (f&&4)||(t&&2);
alert(z);
好处:
1.它有助于写出模块化和可服用的代码。
2.它对事件处理程序非常有效。
3.它很有趣!


xyy_sun
46 声望5 粉丝

热爱web前端开发,有较强的学习能力,喜欢与人沟通交流