在JavaScript中,每个对象都是实例和类.要进行继承,可以使用任何对象实例作为原型.
在Python,C++等中,有类和实例作为单独的概念.为了进行继承,您必须使用基类来创建一个新类,然后可以使用它来生成派生实例.
为什么JavaScript会朝这个方向发展(基于原型的面向对象)?基于原型的OO相对于传统的,基于类的OO有哪些优点(和缺点)?
我想了解javascript中的原型.例如:
1)
var MyObject = function() {
this.a = "a";
return this;
}
MyObject.prototype.fn = function() {console.log('1');}
var obj1 = new MyObject1();
Run Code Online (Sandbox Code Playgroud)
2)
var MyObject = function() {
this.a = "a";
this.fn = function() {console.log('1');}
return this;
}
var obj2 = new Object2();
Run Code Online (Sandbox Code Playgroud)
我得到obj1和obj2一样.所以,我在2)做的也是原型?或不?我对原型缺少什么?