闭包
大函数内部有小函数,小函数内部调用大函数的参数。
方法一
function myTool(){
var money = 1000;
function get() {
money += 1;
}
function send() {
money -= 1;
}
return{
'get':get,
'send':send
}
}
方法二
(function (w) {
var money = 1000;
function get() {
money += 1;
}
function send() {
money -= 1;
}
w.myTool = {
'get':get,
'send':send
}
})(window);
解释
-
两种方法均写在myTool.js中
-
使用第一种方法的时候,引入myTool.js后,调用的时候代码如下:
var toolObj = myTool(); toolObj.get(); toolObj.send();
-
使用第二种方法的时候,实际上相当于将myTool方法加入到了window中,在全局任何地方,直接使用myTool.get或myTool.send即可调用内部的方法。
myTool.get(); myTool.send();