通常函数声明和调用是这样写的
function dome() { ....... } //这是声明
dome() // 这是调用
IIFE(立即调用函数表达式)是一个定义就会执行的函数,拥有独立的作用域,避免了外界访问此函数的变量,而且也不会污染全局作用域
(function(){
var name = 10 //外部是访问不到声明的这个name的
})()
var result = (function(){
var a= 10
return a
})()
console.log(result) //10 当把IIFE函数存储给一个变量时,不是存储函数本身,而是存储函数执行后返回的结果
第二种写法
!function(){ ..... }() //这种写法也比较常用,与上面这种用法一样