IIFE
全拼Imdiately Invoked Function Expression,立即执行的函数表达式。
语法
var module1 = (function(){
var _count = 0;
var m1 = function(){
//...
};
var m2 = function(){
//...
};
return {
m1 : m1,
m2 : m2
};
})();
使用上面的写法,外部代码无法读取内部的_count变量。
括号的意义
1、包住function(){}
的括号的意义
?这个括号的目的,是为了把function(){}
转化为表达式。方便执行。如果去掉该括号,则会报错。因为单纯的function(){}
不是可执行的表达式,会直接报错
2、第二个括号的意义
?理解了第一个括号的意义,第二个括号就很简单了,就是执行表达式了。
引用
$(fuction(){
module1.m1();//调用m1;
});