闭包的作用:
1、实现公有变量
eg:函数累加器
2、可以做缓存(存储结构)
eg:eater
3、可以实现封装,属性私有化
eg:Person();
4、模块化开发,防止污染全局变量
立即执行函数
//立即执行函数
//针对初始化功能的函数
//执行完之后就会被销毁,只能执行一次
1 var num = (function(a,b,c){ 2 var d = a+b+c*2 -2;4 return d;5 }(1,2,3))
//只有表达式才能被执行符号执行,
//函数被括号包裹就变成了表达式
//函数声明不能被执行