使用jquery来实现JS的类面向对象

来源:互联网 发布:银行大数据解决方案 编辑:程序博客网 时间:2024/05/19 16:35

例子:

 $(function () {            var teop = new Object();//声明类对象            var privateT = "55555555555"; //private 私有成员            teop.PublicT = "7777777777"; //PublicT公有成员            teop.PublicFunction = function () {//PublicT公有方法                privatefunction();            }            teop.PublicFunction2 = function () {//PublicT公有方法                privatefunction2();            }            function privatefunction() {//private 私有方法                alert(privateT);//访问私有成员            }            function privatefunction2() {//private 私有方法                alert(teop.PublicT);//访问公有成员            }            window["teop"] = teop;//把类赋值给window对象,作为window对象的属性        }) 


1  首先声明类对象  var teop = new Object();

    并把整个类放在 $(function () {})中,保证在文档正常加载后类已经存在。

2   在把类对象赋值给window对象,作为window对象的属性window["teop"] = teop;

    这样就可以在外部通过window对象的访问属性此类了

3  在类内部声明私有成员直接使用var关键字,例如:

var privateT = "55555555555"; //private 私有成员

   声明共有成员则作为类的属性,不能使用var关键字,例如:

teop.PublicT = "7777777777"; //PublicT公有成员

    声明私有方法和声明私有成员基本类似,例如:

    function privatefunction() {//private 私有方法
                alert(privateT);//访问私有成员
            }

    声明共有方法和声明公有成员基本类似,例如:

   teop.PublicFunction = function () {//PublicT公有方法
                privatefunction();
            }

4 主要注意的是,对公有方法,共有属性的问,必须是完整的,不管是在类内部还是类外部。例如:

  teop.PublicFunction(),必须是  teop.PublicFunction(),而不能是PublicFunction();

teop.PublicT,必须是  teop.PublicT,而不能是PublicT;

5测试脚本 

function Test() {            teop.PublicFunction();//测试 访问公有方法,可以正常使用            teop.PublicFunction2();//访问公有方法,可以正常使用            privatefunction();//访问私有方法,不能访问            teop.privatefunction();//访问私有方法,不能访问            alert(teop.PublicT);//访问共有属性,可以正常使用            alert(teop.privateT);//访问私有属性,不能访问            alert(privateT);//访问私有属性,不能访问        } 


原创粉丝点击