es6

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <button>333</button>
    <script type="text/javascript">
        var that ;
        class test
        {
            constructor(uname, age) {
                that = this;
                console.log(this)
                this.uname = uname
                this.age = age;
                this.btn = document.querySelector('button');
                this.btn.onclick = this.sing;
            }

            sing() {
                //按钮点击的时候,this指向是调用者button,如果想要调用uname 需要用that这种方式
                console.log(this)
                console.log(that.uname)
            }
        }

        class child extends test {
            constructor(uname, age) {
                // super(uname, age)  //如果没有super(),直接调用sing,
                //sing里面的this是指向父类,没有定义会报错
                this.uname = uname
                this.age = age;
            }
        }
        // var testObject = new test('lilie', 23)
        // testObject.sing()  //this指向是test这个对象
        var childObj = new child('lile', 25)
        childObj.sing()
    </script>
</body>
</html>

转载于:https://www.cnblogs.com/agang-php/p/11483049.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值