是什么?
在Java中
类:模板
对象:具体的实例
javascript不一样之处:原型
<script>
var Student = {
name: "xxx",
age: 3,
run: function () {
console.log(this.name + "run.......");
}
}
var xiaoming = {
name: "小明"
};
//xiaoming的原型是Student
xiaoming.__proto__ = Student;
</script>
xiaoming.run()
小明run.......
class继承
class关键字在ES6引入的
1.定义一个类,属性,方法
//ES6后
//定义学生的类
class Student{
constructor(name){
this.name=name;
}
hello(){
alert('hello');
};
}
// 使用
var xiaoming=new Student("xiaoming");
2.继承
//ES6后
//定义学生的类
class Student{
constructor(name){
this.name=name;
}
hello(){
alert('hello');
};
}
class PrimarySchool extends Student{
constructor(name,grade){
//实现继承的类
super(name);
this.grade=grade;
}
myGrade(){
alert("我"+this.grade+"年级")
}
}
// 使用
var xiaoming=new Student("xiaoming");
var Jim=new PrimarySchool("Jim",1)
原型链
原型链原地址