首页 > 代码库 > javascript中如何模拟“类”

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;        }    }

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

javascript中如何模拟“类”