<!--http://www.56.com/u85/v_MTMyNjk1OTc4.html-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ES6继承语法</title>
</head>
<body>
</body>
<script type="text/javascript">
/*
* 什么是 ES6 ?
* JavaScript :
* 核心模块:ECMAScript (是 JS 的核心重要组成部分)
* HTML结构节点: DOM
* 浏览器核心对象: BOM
*
* DOM : html 结构
* html
* body
* main
* div
* BOM : 详细请看 : http://www.cnblogs.com/2010master/p/5824215.html
* BOM(Browser Object Document)即浏览器对象模型。
* BOM提供了独立于内容 而与浏览器窗口进行交互的对象;
* 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window;
* BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性;
*
* ECMAScript : ES(ECMA : 欧洲计算机制造商协会)
* 规定了这些内容 : 语法 关键字 声明 解析等规则
* 数据类型 : object string number boolean ....
* 也支持 原型和继承的
* 还有 一些内置的对象 和 函数库
* 运算符号.....
*
*/
// ES6 对 对象的继承有了新的语法:
class People {
// 构造函数
constructor(name, age) {
// 初始化属性
this.name = name;
this.age = age;
}
// 方法
eat(food) {
console.log(this.name + '吃 : ' + food);
}
}
// 设置原型中的内容
People.prototype.legs = 2;
// 创建 People 对象
var p1 = new People('三炮', 22);
console.log(p1);
// 方法的调用
p1.eat('大盘鸡');
// -------------- 继承 ----------------
// extends : 继承的关键字
class Man extends People {
constructor(name, age, sex) {
// super : 就相当于会自动去执行 People 的构造函数
super(name, age);
// 新增,扩展自己的属性
this.sex = sex;
}
playMJ() {
console.log(this.name + '正在打麻将');
}
}
// 叫 翠花 28 男 吃馒头 打麻将
var man = new Man('翠花', 28, '男');
console.log(man);
man.eat('馒头');
man.playMJ();
</script>
</html>