javascript API架子2010-04-09 博客园 kuku//Include syntactic sugar to help the development of out interface. Function.prototype.method = function(name, fn){ this.prototype[name] = fn; return this; }; (function(){ function _$(els){ //... } /* Events * addEvent * getEvent */ _$.method("addEvent", function(type, fn) { //... }).method("getEvent", function(e) { //... /* DOM * addClass * removeClass * replaceClass * hasClass * getStyle * setStyle */ }).method("addClass", function(className) { //... }).method("removeClass", function(className) { //... }).method("replaceClass", function(olcClass, newClass) { //... }).method("hasClass", function(className) { //... }).method("getStyle", function(prop) { //... }).method("setStyle", function(prop, val) { //... /* AJAX * load. Fetches an HTML fragment from a URL and inserts it into an element. */ }).method("load", function(url, method) { //... }); window.$ = function(){ return new _$(arguments); }; })();window.API = window.API || function() { var name = "Hello world"; //Privileged mutator method. this.setName = function(newName){ name = newName; return this; }; this.getName = function(callback){ callback.call(this, name); return this; }; }; var api = new API; api.getName(console.log).setName("Meow").getName(console.log);
收藏该网址