1.匿名函数
我们可以使用匿名函数,以减少冗余(以及减少名字不匹配的概率),我们可以用一个变量来保存匿名函数。
var prison = function () {
var prisoner_name = "mike",
jail_term = 20;
console.log(prisoner_name);//"mike"
};prison();
2.自执行匿名函数
有时候,我们定义的函数不想被他人使用,不想在第三方库中共享函数中的内部变量(在第三方库中调用时,可能引起命名冲突的问题)
(function () {
var prisoner_name = "mike",
jail_term = 20;
console.log(prisoner_name); //"mike"}
)();
函数定义完成之后,会立即执行。被称为自执行匿名函数。
定义它时没有名字并且没有保存给变量,立即执行了。
优势:被用来控制变量的作用域,防止变量泄露到代码中的其他地方。
用处:经常被用于创建JS插件,不会和应用中的代码冲突,不会向全局环境中添加任何变量。
3. 匿名函数中传递参数
(function ($) {
console.log($); //"jQuery"}
)(‘jQury’);
eg:jQuery和$是彼此的别名,可以将jQuery变量传递给参数为$的自执行匿名函数。当同时使用jQuery和Prototype库时,可以避免$被后引入的JS库覆盖。
(function (what_to_eat) {
var prisoner_name = "mike",
jail_term = 20; console.log(prisoner_name); //"mike"
})(‘sandwich’);