zoukankan      html  css  js  c++  java
  • 几种常用的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);

  • 相关阅读:
    NOIP前做题记录
    AtCoder Grand Contest 021题解
    AtCoder Grand Contest 020 题解
    CODE FESTIVAL 2017 Final题解
    Code Chef October Challenge 2019题解
    5.20 校内模拟
    5.19 湖南师大附中省选模拟1
    NOI2016 循环之美
    博弈复习
    5.18 省选模拟
  • 原文地址:https://www.cnblogs.com/sjqq/p/7551992.html
Copyright © 2011-2022 走看看