JavaScript 中,声明一个函数,要想它运行,就得调用它
function say() {
console.log ('hello world')
} // 这里只是声明了一个函数,并没有运行它
say() // 这里就调用了这个函数,输出了 'hello world' 字符串
声明了一个函数,并不会立即执行它,就像造好了车子,存到车库,并不开,直到需要车子了再开出来。
如果想要声明了这个函数,并且立刻运行它,就可以把这个函数声明变成表达式,后面加上(),就立即执行了这个函数
(function () {
console.log ('hello world')
}) () // 小括号 () 把函数声明变成了表达式,该函数立即执行
(1, function () {
console.log ('hello world')
}) () // 逗号运算符把函数表达式变成了数组里的表达式,该函数立即执行
作用
立即执行的函数表达式,可以隔离作用域
因为在函数内部声明的变量,只在函数内部作用域有效,外部是无效的,所以将变量用立即执行的函数表达式包裹一下,可以起到隔离作用域的效果。