1、在 ES6 中类没有变量提升,所以必须先定义类,才能通过类实例化

2、类里面的共有的属性和方法一定要加this使用

构造函数在constructor中调用

202109201632139907149304

(2)可以用button在constructor中调用函数方法

202109201632140561932904

这时候虽然可以调用sing这个方法,但里面打印的this.uname却是undefined

202109201632140889121182

这时候就是第三个注意点:

3、constructor 里面的this 指向的是 创建的实例对象,指向实例对象ldh

(1)constructor 里面的this 指向的是 创建的实例对象

202109201632141215173722

控制台:

202109201632141253137900

(2)在新的方法里面调用this,他还是指向实例对象ldh,因为ldh调用了这个函数

202109201632142033731709

控制台:

202109201632142054165150

(3)所以刚刚按钮触发的this.sing中的this指向的是button本身,所以this.uname找不到

202109201632142161127519

控制台:

202109201632142180132107

(4)如果想要找到uname,就可以先定义全局变量that,然后在constructor中将this赋值给全局变量that

然后在sing方法中使用that.uname

202109201632142446177799

控制台:

202109201632142479209459