加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

JavaScript定义类的几种方式汇总

发布时间:2023-09-12 14:25:51 所属栏目:教程 来源:
导读:提起面向对象我们就能想到类,对象,封装,继承,多态。在《javaScript高级程序设计》(人民邮电出版社,曹力、张欣译。英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细。我们
提起面向对象我们就能想到类,对象,封装,继承,多态。在《javaScript高级程序设计》(人民邮电出版社,曹力、张欣译。英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细。我们看看JavaScript中定义类的各种方法。
 
1.工厂方式
 
javaScript中创建自己的类和对象,我们应该是必须掌握的,我们都知道javaScript中对象的属性可以在对象创建后动态定义,比如下面的代码:
 
代码如下:
 
<script type="text/javascript">
 
    //定义
 
    var oCar = new Object();
 
    oCar.color = "red";
 
    oCar.doors = 4;
 
    oCar.showColor = function() {
 
        alert(this.color);
 
    }
 
    //调用
 
    oCar.showColor();
 
</script>
 
我们很容易使用oCar对象,但是我们创就是想创建多个Car实例。我们可以使用一个函数来封装上面的代码来实现:
 
代码如下:
 
<script type="text/javascript">
 
    //定义
 
    function createCar() {
 
        var oCar = new Object();
 
        oCar.color = "red";
 
        oCar.doors = 4;
 
        oCar.showColor = function() {
 
            alert(this.color);
 
        }
 
        return oCar;
 
    }
 
    //调用
 
    var ocar1 = createCar();
 
    var ocar2 = createCar();
 
    ocar1.color = "black";
 
    ocar1.showColor();
 
    ocar2.showColor();
 
</script>
 
顺便说一下,javaScript对象默认成员属性都是public 的。这种方式我们称为工厂方式,我们创造了能创建并返回特定类型的对象的工厂。
 
这样做有点意思了,但是在面向对象中我们经常使用创建对象的方法是:
 
Car car=new Car();
 
使用new 关键字已经深入人心,因此我们使用上面的方法去定义总感觉别扭,并且每次调用时都去创建新的属性以及函数,功能上也不实际。下来我们看看构造函数的形式定义类。
 
2.构造函数
 
这种方式看起来有点象工厂函数。具体表现如下:
 
代码如下:
 
<script type="text/javascript">
 
    //定义
 
    function Car(color, doors) {
 
        this.color = color;
 
        this.doors = doors;
 
        this.showColor = function() {
 
            alert(this.color);
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章