zoukankan      html  css  js  c++  java
  • 几种常用的JS类定义方法

    几种常用的JS类定义方法

     

    // 方法1 对象直接量
    var obj1 = {
        v1 : "",
        get_v1 : function() {
            return this.v1;
        },
        set_v1 : function(v) {
            this.v1 = v;
        }
    };

    // 方法2 定义函数对象
    var Obj = function() {
        var v1 = "";
        this.get_v1 = function() {
            return this.v1;
        };
        this.set_v1 = function(v) {
            this.v1 = v;
        }
    };

    // 方法3 原型继承
    var Obj3 = new Function();
    Obj3.prototype = {
        v1 : "",
        get_v1 : function() {
            return this.v1;
        },
        set_v1 : function(v) {
            this.v1 = v;
        }
    };

    // 方法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;
    }

    obj1.set_v1('hello1');
    alert(obj1.get_v1());

    var obj2 = new Obj();
    obj2.set_v1('hello2');
    alert(obj2.get_v1());

    var obj3 = new Obj();
    obj3.set_v1('hello3');
    alert(obj3.get_v1());

    var obj4 = loadObj();
    obj4.set_v1('hello4');
    alert(obj4.get_v1());

    alert(obj1);
    alert(obj2);
    alert(obj3);
    alert(obj4);

    转自(http://www.cnblogs.com/xusir/archive/2013/01/17/2863882.html)

  • 相关阅读:
    (五)Redis在项目中应用
    股票收益最大问题
    (四)redigo
    (三)go-sql-driver
    为什么TCP要3次握手?4次挥手?
    分支预测
    事务隔离级别说明
    剑指offer解题思路锦集11-20题
    C++中的二义性问题
    memcached Vs redis
  • 原文地址:https://www.cnblogs.com/wuxiang/p/4818362.html
Copyright © 2011-2022 走看看