jquery.class.js的使用

最近在研究vtiger的JS的使用
它的JS在我看来是一个非常不错的写法,用的是面向对象的思维
首先来说一下这个 jquery.class.js

这个库能够非常容易的创建js类 和 继承
在页面多的时候非常推荐使用,而且现在前端模块化非常常见
下面来说他的用法(网上完全找不到文档,全凭自己摸索)

vtiger的用法是,每一个模块下都有几个js文件,每一个JS文件就是一个对象
现在我来声明一个类, PriceBooks_RelatedList_Js

jQuery.Class("PriceBooks_RelatedList_Js",{
    gettest:function(){
        console.log(123);
    }
},{
    showtest:function(){
        console.log(123);
    },
    auto:function(){
        PriceBooks_RelatedList_Js.gettest();
    },
    registerEvents:function(){
        this.showtest();
    }

});

在加载两个文件之后,上面的类就建好了

    <script src="jquery-1.11.3.js"></script>
    <script src="jquery.class.min.js"></script>

对象的名称是PriceBooks_RelatedList_Js
大家发现里面有两个大括号,里面都能写方法
区别 1.第一个大括号里面的方法,不能用this调用,可以在标签的onclick中调用,也可以用PriceBooks_RelatedList_Js类名来调用(第一个大括号一般放通过 通过按钮 或者点击 这些由页面直接触发的方法)
2.第二个可以用对象.方法名 的方式调用 (放内部JS自身调用的方法)

<body>
    <button onclick="PriceBooks_RelatedList_Js.gettest()">调用</button>
    <script src="jquery-1.11.3.js"></script>
    <script src="jquery.class.min.js"></script>
    <script>
jQuery.Class("PriceBooks_RelatedList_Js",{
    gettest:function(){
        console.log(1234);
    }
},{
    showtest:function(){
        console.log(123);
    },
    registerEvents:function(){
        this.showtest();
    }
});
jQuery(document).ready(function (e) {
    var instance = new PriceBooks_RelatedList_Js();
    instance.registerEvents();
});

接着我们来讲第二点,继承
PriceBooks_RelatedList_Js是我们要继承的类
Price_RelatedList_Js是我们的子类
子类能够调用父类的方法

PriceBooks_RelatedList_Js("Price_RelatedList_Js",{},{
    sayHello:function(){
        console.log("hello");
    }
});
var related=new Price_RelatedList_Js();
    related.sayHello();//输出自己的方法 hello
    related.showtest();//输出父类的方法 123

也可以通过 window['类名']的方式

var related2=new window["Price_RelatedList_Js"]();
    related2.sayHello();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,744评论 25 709
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,674评论 3 93
  • 去看完二十二的感觉是,她们真的很勇敢,而且活着的状态其实是比我想象中的好的,有子女,也有丈夫的疼爱,这方面的爱情中...
    joyjolin阅读 262评论 0 0
  • 文/庞国义 八年抗战,作为抗战首都的重庆,历尽了日寇飞机大轰炸的痛苦劫难。在十分险恶的局势下,坚韧乐观的重庆各界人...
    石桥广角阅读 2,371评论 1 5