最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • JS中类的定义

    正文概述 掘金(USTCtuoluo)   2021-03-25   335

    类的定义

    • 与函数类型类似,定义类也有两种主要方式:类声明和类表达式。这两种方式都使用class关键字加大括号
    //类的声明
    class Person {}
    
    //类的表达式
    const Animal = class {};
    
    • 与函数表达式类似,类表达式在它们被求值之前也不能引用。不过,与函数定义不同的是,虽然函数声明可以提升,但类定义不能。
    • 与函数声明不同的地方是,函数受函数作用域的限制,而类受块作用域的限制

    类的构成

    • 包含构造函数、实例方法、获取函数、设置函数和静态类方法,但这些都不是必须的。空的类定义照样有效。默认情况下、类定义中代码都在严格模式下执行
    //空定义,有效
    class Foo {}
    
    //有构造函数的类,有效
    class Bar {
        constructor(){}
    }
    
    //有获取函数的类,有效
    class Baz {
        get myBza(){}
    }
    
    //有静态方法的类,有效
    class Qux {
        static myQuex() {}
    }
    

    类的构造函数

    • 使用new操作符实例化Person的操作等于使用new调用其构造函数
    1. 在内存中创建一个新的对象
    2. 这个新对象内部的[[Prototype]]指针被赋值为构造函数的prototype属性。
    3. 构造函数内部的this被赋值这个新的对象
    4. 执行构造函数内部的代码(给新对象添加属性)
    5. 如果构造函数返回非空对象,则返回该对象,否则创建新的对象。
    class Animal {}
    
    class Person {
        constructor() {
            console.log('person color')
        }
    }
    
    class Vegetable {
        constructor() {
            this.color = 'orange';
        }
    }
    
    let a = new Animal();
    
    let p = new Person(); //person color
    
    let v = new Vegetable();
    console.log(v.color); // orange
    
    • 默认情况下,类的构造函数执行完之后会返回this对象。构造函数返回的对象会被用作实例化的对象,如果没有什么引用新创建的this对象,那么这个对象会被销毁。

    起源地下载网 » JS中类的定义

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元