JS类定义方式

// 方法1 对象直接量

复制代码
var obj1 = {
    v1 : "",
    get_v1 : function() {
        return this.v1;
    },
    set_v1 : function(v) {
        this.v1 = v;
    }
};
obj1.set_v1('hello1');
alert(obj1.get_v1());
复制代码

// 方法2 定义函数对象

复制代码
var Obj = function() {
    var v1 = "";
    this.get_v1 = function() {
        return this.v1;
    };
    this.set_v1 = function(v) {
        this.v1 = v;
    }
};
var obj2 = new Obj();
obj2.set_v1('hello2');
alert(obj2.get_v1());
复制代码

// 方法3 原型继承

复制代码
var Obj3 = new Function();
Obj3.prototype = {
    v1 : "",
    get_v1 : function() {
        return this.v1;
    },
    set_v1 : function(v) {
        this.v1 = v;
    }
};
var obj3 = new Obj();
obj3.set_v1('hello3');
alert(obj3.get_v1());
复制代码

// 方法4 工厂模式

复制代码
function loadObj() {
    var tmp = new Object();
    tmp.v1 = "";
    tmp.get_v1 = function() {
        return tmp.v1;
    };
    tmp.set_v1 = function(v) {
        tmp.v1 = v;
    };
    return tmp;
}
var obj4 = loadObj();
obj4.set_v1('hello4');
alert(obj4.get_v1());
复制代码

 

 
 
posted @ 2014-08-16 23:30  修行,波动线  阅读(226)  评论(0编辑  收藏  举报