每个 JavaScript 构造函数都有一个 prototype 属性,用于设置所有实例对象需要共享的属性和方法。prototype 属性不能列举。JavaScript 仅支持通过 prototype 属性进行继承属性和方法。到了ES6以后引入了class,使其和其他后端面向对象语言一样如java,c++等。但是运行时机制还是通过模拟状类来实现,即:基于函数
1 | function Square(w,h){ |
代码中,w 和 h 都是构造函数 Square 创建的对象实例,它们通过 prototype 继承了 getArea 方法。