(function(wnd) { function Point(x,y){ this.x=x||0; this.y=y||0; } window.Point=Point; })(window); var app=(function(){ var item={}; var manager={}; var register=function(name,KJ) { item[name]=KJ; return KJ; }; var register_manager=function(name,KJ) { manager[name]=KJ; return KJ; }; var remove=function (name) { if (item[name]) { delete item[name]; } }; var get=function(name){ if (item[name]) { return item[name]; }else{ return 0; } } var have=function(name){ if (item[name]) { return true; }else{ return false; } } var show=function(){ for (var key in item) { console.log("key:"+key+",desc:"+item[key]['desc']); } } var runmouse=function(func){ for (var key in item) { if (item[key][func]) { item[key][func].apply(item[key],Array.prototype.slice.call(arguments, 1)); } } for (var key in manager) { if (manager[key]) { if (manager[key][func]) { manager[key][func].apply(manager[key],Array.prototype.slice.call(arguments, 1)); } var list=manager[key].ex() for (var i = 0; i < list.length; i++) { if (list[i][func]) { list[i][func].apply(list[i],Array.prototype.slice.call(arguments, 1)); } } } } //if (item[name][func]) {,name //console.table(item[name].clickable) //item[name][func].apply(item[name],Array.prototype.slice.call(arguments, 2)); //} } return { manager:manager, item:item, register:register, register_manager:register_manager, remove:remove, runmouse:runmouse, get:get, have:have, show:show, } })();