两种定义函数的方式:
// 字面量定义,表达式
// var fn = function () {
// alert(1);
// }();
// fn();
// 关键字来定义
function fn() {alert(2)}();
第二种方式会报错,第二种的fn是全局函数,在网站复杂时或者开发人员比较多时不适用
例外一种形式是在表达式外面加一个括号:
// 表面上是以关键字开定义的,但是加括号后
// 返回一个表达式形式
(function () {
alert(0);
})();
优点:灵活,不需要单独去调用一次函数,没有函数名,灵活调用,不用担心函数名冲突