Table of Contents generated with DocToc
function add() {
var i = 0;
return function() {
alert(i++);
}
}
var f = add();
f();
f();
// 错误方法
var addHandlers = function(nodes) {
for (var i = 0, len = nodes.length; i < len; i++) {
nodes[i].onclick = function(){
alert(i);
}
}
}
// 正确方法
var addHandlers = function(nodes) {
var helper = function(i) {
return function() {
alert(i);
}
}
var (var i = 0, len = nodes.length; i < len; i++) {
nodes[i].onclick = helper(i);
}
}
// 将 observerList 封装在 observer 中
var observer = (function(){
var observerList = [];
return {
add: function(obj) {
observerList.push(obj);
},
empty: function() {
observerList = [];
},
getCount: function() {
return observerList.length;
},
get: function() {
return observerList;
}
};
})();