Es6之前通过构造函数+原型实现面向对象编程
(1)构造函数有原型对象prototype
(2)构造函数原型对象prototype里面有constructor 指向构造函数本身
(3)构造函数可以通过原型对象添加方法
(4)构造函数创建的实例对象有_proto_原型指向 构造函数的原型对象
Es6开始一切都简单了
这一切都可以用class代替
class star{ } console.log(typeof(star));//类的本质还是函数 //(1)类有原型对象prototype console.log(star.prototype); //(2)类的constructor指向类本身 console.log(star.prototype.constructor); //(3)类可以通过原型对象添加方法 star.prototype.sing=function(){ console.log('i can speak english!') } //(4)类创建的实例对象有_proto_原型指向 类的原型对象 var ldh =new star(); console.log(ldh.__proto__===star.prototype)
运行结果: