返回顶部

收藏

Javascript面向对象模板

更多
var MYNAMESPACE = YAHOO.namespace("mynamespace");

//CLASS: MYNAMESPACE.MyClass
(function() {
    // private
    var that = null;
    var priv1 = "123";
    var priv2 = "ABC";

    var privMethod = function () {
        priv1 += "_priv";
    };

    // constructor
    MYNAMESPACE.MyClass = function(par1, par2){
        that = this;
        priv1 += par1;
        priv2 += par2;

        privMethod();

        this.prop1 += par1;
    };

    // public
    MYNAMESPACE.MyClass.prototype = {
        // events
        onClassReady : new YAHOO.util.CustomEvent("onClassReady"),
        onPubMethod1Loaded : new YAHOO.util.CustomEvent("onPubMethod1Loaded"),

        // properties
        prop1 : "Test1",
        prop2 : "999",

        // methods
        pubMethod1: function(p1){
            this.onPubMethod1Loaded.fire(this.prop1, this.prop2);

            return this.prop1 + priv1 + p1;
        },

        pubMethod2: function(p1){

        }
    }

    // static
    MYNAMESPACE.MyClass.statMethod = function () {
        YAHOO.log(this);
    }
})();

MYNAMESPACE.MyClass.statMethod(); // function ()

var myObject = new MYNAMESPACE.MyClass("_kkk", "_ppp");

myObject.onPubMethod1Loaded.subscribe(function (type, args, me) {
    YAHOO.log(this); // window
    YAHOO.log(type); // onPubMethod1Loaded
    YAHOO.log(args); // ["Test1_kkk", "999"]
    YAHOO.log(me); // Object
}, myObject);

YAHOO.log(myObject.prop1);
YAHOO.log(myObject.pubMethod1("ioioi"));

标签:javascript,面向对象

收藏

0人收藏

支持

0

反对

0