javascript API架子


//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);


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3