上一节学的匿名函数比较奇怪,没名字,调用时调用被匿名函数赋值的变量。
这一节学立即调用函数,准确地说的叫立即调用函数表达式(IIFE)。在解释器经过它们时执行一次。
1 2 3 4 5 |
var value=( function () {
var length=80;
var width=60;
return length*width;
}());
|
上面这个例子是立即调用函数表达式,它没有函数名,同匿名函数一样,有关键字function,有参数,有函数体——花括号部分。除此之外,还多了一对小括号,在函数体结尾后。这对小括号表示对解释器说立即执行。立即函数在右边,被一对小括号包裹。
下面是完整demo代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!DOCTYPE html>
< html lang = "zh" >
< head >
< meta charset = "UTF-8" >
< title >立即调用函数表达式</ title >
</ head >
< body >
< script >
window.onload = function (ev) {
var value = (function () {
var length = 80;
var width = 60;
return length * width;
}());
document.write("桌子的面积是" + value);
}
</ script >
</ body >
</ html >
|