上一节学的匿名函数比较奇怪,没名字,调用时调用被匿名函数赋值的变量。
这一节学立即调用函数,准确地说的叫立即调用函数表达式(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 > |