(function (WINDOW) { 闭包
var APP = { 函数
doc: WINDOW.document, this
message: 'hellomoto', spa
Event: { 对象
registerEvent: function (obj) { 内存
ele = obj.doc.getElementById('ele_id'); get
ele.onclick = function () { io
var o = obj; console
console.log(o.message); function
};
}
}
};
APP.Event.registerEvent(APP);
}(this));
一个面向应用(或服务)的对象APP被即时函数封装,这里只是举个简单的例子,目的在于说明
好马不回头策略:
一、在进入registerEvent函数时,带的参数是APP对象,这样在该函数局部就能够访问任何其想
访问的数据或方法了,不须要出registerEvent这个函数,好马不回头;
二、在ele.onclick的闭包函数中,经过局部变量O来引用obj即APP对象,这样在该函数局部就可
以访问任何其想访问的数据或方法了,不须要出闭包函数,好马不回头;
三、APP对象是在堆内存中,只有1份存储;
四、管见所及,谢谢~