ES6的类和对象(二)

注意——只要new了一个实例对象出来,就会自动调用constructor

子类继承父类方法同时扩展自己方法

就是说,即继承了父类里面的一些方法,同时自己也能实现一些方法

如下代码:

    <script>
        class Father {
            constructor(x, y) {
                this.x = x;
                this.y = y;
            }
            sum() {
                console.log(this.x + this.y);
            }
        }
        class Son extends Father {
            // super(x,y);这句话要写在construor里面
            constructor(x, y) {
                super(x, y);
                this.x = x;
                this.y = y;
            }
            subtract() {
                console.log(this.x - this.y);
            }
        }
        var son = new Son(5, 2);
        son.subtract(); //3
        son.sum(); //7
    </script>

但是有以下几个注意点

ES6中的类和对象****三个注意点

  1. 在ES6中类没有变量提升,所以必须先定义类,才能通过类实例化对象
  2. 类里面的共有属性和方法一定要加this使用

这些共有的属性和方法都是属于this的,也就是说,一定要添加this,这些this指向的都是这些共有的属性和方法

代码示例(更清晰):

(也就是指向ldh这个实例对象) 

construcor 里面的this 指向的是 创建的实例对象

证明如下:

(注意人家的证明思路)

sing()方法里面的this,指向的是btn这个按钮,因为这个按钮调用了这个函数

如下代码:

construcor里面的this指向实例对象,方法里面的this指向这个方法的调用者

在某些特殊的情况下,方法里面的this指向的是方法的调用者,但是如果我又想在方法内使用constructor里面的this,可以采取以下这种策略:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值