menu 刺心博客
ES6的类和对象的三个注意点
240 浏览 | 2020-04-14 | 阅读时间: 约 1 分钟 | 分类: 随笔 | 标签:
请注意,本文编写于 170 天前,最后修改于 170 天前,其中某些信息可能已经过时。
<script>
var that;
    class Star {
        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() {
            //这个sing方法里面的this 指向的是btn这个按钮,因为这个按钮调用了这个函数
            console.log(this);

            console.log(this.uname);//that里面存储的是constructor里面的this

        }
        dance() {
            that = this;//这个dance里面的this 指向的是实例对象ldh 因为ldh调用了这个函数
            console.log(this);

        }
    }
    var ldh = new Star('ldh');
    ldh.dance();
    ldh.sing();
    //1.在ES6中类没有变量提升,所以必须先定义类,才能通过类实例化对象
    //2.类里面的共有的属性和方法一定要加this使用
    //3.类里面的this指向问题
    //4.constructor里面的this指向实例对象,方法里面的this指向这个方法的调用者
</script>
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

发表评论

email
web

全部评论 (暂无评论)

info 还没有任何评论,你来说两句呐!