1.ES5构造函数实现继承
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>对象继承</title>
</head>
<body>
<script>
function Phone(brand,price){
this.brand=brand;
this.price=price;
}
Phone.prototype.call = function(){
console.log("我可以打电话");
}
function SmartPhone(brand,prise,color,size){
Phone.call(this,brand,prise);
this.color=color;
this.size=size;
}
SmartPhone.prototype = new Phone;
SmartPhone.prototype.constructor=SmartPhone;
SmartPhone.prototype.photo=function(){
console.log("我可以拍照");
}
SmartPhone.prototype.playGame=function(){
console.log("我可以玩游戏");
}
const chuizi = new SmartPhone('锤子',1999,'黑色','5.5inch');
console.log(chuizi);
</script>
</body>
</html>
2.ES6中class的类继承
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>类继承</title>
</head>
<body>
<script>
class Phone{
constructor(brand,price){
this.brand=brand;
this.price=price;
}
call(){
console.log("我可以打电话");
}
}
class SmartPhone extends Phone{
constructor(brand,price,color,size){
super(brand,price);
this.color=color;
this.size=size;
}
photo(){
console.log("拍照");
}
playGame(){
console.log("玩游戏");
}
}
const xiaomi =new SmartPhone('小米',8888,'黑色','55inch');
console.log(xiaomi);
</script>
</body>
</html>
|