我一直听说JavaScript是如此优越的语言的原因之一是因为它没有类。相反,它有这个神奇的东西叫做Prototypal Inheritance。
纠正我如果我错了,但根据我的理解,Object.prototype
和Object.prototype.constructor
(运行一些本机代码)是Javascript中的两个基本实体。这与班级有什么不同?
当使用.prototype
运算符调用时,如果没有用于创建对象的“蓝图”,每个函数都需要new
答案 0 :(得分:0)
如果你挖掘得足够多,这个问题可以成为一个非常深入的讨论,但我能想到的最简单的比喻(广泛使用)就是想到一个"类"作为一个蓝图和一个"对象"作为一个房子。在基于类的系统中,您可以构建' (实例化)蓝图中的房屋。而且你可以活着#39; (在这些房子里呼叫方法等)。但你不能活着#39;在蓝图中。它们仅用于建造房屋。
在JS中,你没有蓝图。你只有房子。你可以复制房屋和“活着”。在它中,如果你愿意,可以使每个人不同(保存个人状态等)。但它们都是彼此的副本。没有涉及蓝图。