专栏首页技术博文几种常用的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);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Cookie禁用了,Session还能用吗?详解

    Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么...

    joshua317
  • phpcms v9 常用函数

    常用函数 , 打开include/global.func.php,下面存放一些公共函数 view plaincopy to clipboardprint? fu...

    joshua317
  • js 判断user agent

    var UserAgent = { useragent:window.navigator.userAgent.toLowerCase(), a...

    joshua317
  • Angular应用的依赖注入调试

    Jerry Wang
  • 只要 5 分钟,让你立刻拥有自己的小程序 | 知晓云

    Hello,各位知晓程序的读者们,我是犯迷糊的小羊。目前是 ifanr 的一只前端攻城狮,同时也是知晓云团队的一员。

    知晓君
  • 如何避免死锁,我们有套路可循

    上一篇文章 共享资源那么多,如何用一把锁保护多个资源? 文章我们谈到了银行转账经典案例,其中有两个问题:

    用户4172423
  • 如何避免死锁,我们有套路可循

    上一篇文章 共享资源那么多,如何用一把锁保护多个资源? 文章我们谈到了银行转账经典案例,其中有两个问题:

    黄泽杰
  • Java数据结构告诉你如何选用数据集合(2)顺序表

    今天接着上次的内容详细讲,用Java实现一个顺序表。名字就取MyArrayList,有点随便。上次讲了,顺序表的实现是使用数组实现的,那么在编写顺序表的时候就需...

    ZackSock
  • Flash actionscript3.0 多个setTimeout之间会顺序执行 单线程执行 无法中止

    用户1258909
  • Laravel的模型事件 入门

    creating, created, updating, updated, saving, saved, deleting, deleted, restorin...

    无道

扫码关注云+社区

领取腾讯云代金券