javascript中如何模拟“类”

javascript作为弱类型的放言,没有类似于java,c#中“类”的概念,但实际开发中很多时候会有这样的需求,目前知道有两种方式可以模拟。
    1.通过声明一个对象的方式,可有如下代码:

var people = {
        age:12,
        name:"jack",
        sex:"男",
        setAge:function(value){
            this.age = value;
        },
        getAge:function(){
            return this.age;
        },
        setName:function(value){
            this.name = value;
        },
        getName:function(){
            return this.name;
        },
        setSex:function(value){
            this.sex = value;
        },
        getSex:function(){
            return this.sex;
        },
        //除了这些属性的读取方法之外还可以有其它方法
        sayHi:function(){
            document.write("Hi,everybody!");
        },
        //也可以这样写
        function sayHi(){
            document.write("Hi,everybody!");
        }
    }

   这样一个“类”就写好了,可以通过如下方式调用:
    people.age(或者people.getAge)来获取年龄信息
    people.setAge来修改年龄
    需要注意的是,由于"people"并不是真正的类,而是javascript的一个对象,所以people中所有元素,无论是属性还是方法,都被javascript当成属性处理,所以全部用","隔开。

 2.通过声明一个function的方式

 function people(){
        var age,name,sex;
        this.getAge = function(){
            return this.age;
        }
        this.setAge = function(value){
            this.age = value;
        }
    }

  相关操作基本与第一种方法一样。
    两种方法的应用场景目前尚不明确,需要进一步学习研究。

posted on 2015-01-15 14:11  real秦川  阅读(138)  评论(0编辑  收藏  举报