我喜欢在Javascript中学习Class Property和Prototype之间的区别我的意思是在代码中显示:
function Rectangle(x, y) {
this.width = x;
this.height = y;
}
Rectangle.UNIT = new Rectangle(1, 1);
Rectangle.prototype.UNIT = new Rectangle(1, 1);
Run Code Online (Sandbox Code Playgroud)
我知道的东西是原型就像继承对象一样工作,这意味着UNIT将从现在开始显示所有实例,但 Rectangle.UNIT = new Rectangle(1, 1);代码不会做同样的事情吗?
Jam*_*are 19
Rectangle.UNIT是一个静态类属性.它只能在Rectangle类对象上访问.在任何Rectangle实例上都无法访问它.
Rectangle.prototype.UNIT 是一个原型属性,可以在Rectangle实例上访问.
如果创建一个Square继承自的类Rectangle,则任何实例Square 将共享相同的prototype属性,但不会共享任何静态类属性.
您可能会发现这些文章很有用(虽然可能有点模糊):
| 归档时间: |
|
| 查看次数: |
3497 次 |
| 最近记录: |