1.class
class es6 中 为 关键字用来声明 一个 类
1.只能通过new调用2.不存在变量提升3.多个方法之间直接书写,不需要,隔开4.类的方法是直接定义在类的原型上的5.定义在类中的方法不可枚举6.Object.keys() 和 Object.values()
下面是详细解释
1.只能通过new调用
2.不存在变量提升
3.多个方法之间直接书写 不需要,隔开
解析:其中constructor方法和say方法之间并没有用逗给开。因为不是对象,所以不需要用逗号隔开。
4.类的方法是直接定义在类的原型上的
5.定义在类中的方法不可枚举
class P { constructor(name,age){ this.name = name; this.age = age; } say(){ // 这个say 是 挂在 P 类 的原型上的方法 console.log("我会说话.我的名字叫:"+this.name); } }; var p1 = new P("kite",29); for( var attr in p1 ){ console.log( attr ); //运行结果为 //name //age }
6.Object.keys()和Object.values()
2.继承-extends
继承 extends注意: 构造函数中调用super
举例说明
3.自定义属性
自定义事件创建:new CustomEvent(事件名,事件对象设置参数);事件对象设置参数 {bubbles:true}//是否设置冒泡绑定:元素.addEventListener触发:元素.dispatchEvent(自定义事件实例,事件名)
举例说明:
box
通过函数模拟自定义函数:
以面向对象的方式 写 自定义事件: