---恢复内容开始---
原型是一个对象,其他对象可以通过它实现属性继承。
每个函数都有一个属性叫做prototype。
这个prototype的属性值是一个对象(属性的集合,再次强调!),默认的只有一个叫做constructor的属性,指向这个函数本身。
原型方式
该方式利用了对象的 prototype 属性,可以把它看成创建新对象所依赖的原型。
这里,首先用空构造函数来设置类名。
然后所有的属性和方法都被直接赋予 prototype 属性。
我们重写了前面的例子,代码如下:
function Car() {
}
Car.prototype.color = "blue";
Car.prototype.doors = 4;
Car.prototype.mpg = 25;
Car.prototype.showColor = function() {
alert(this.color);
};
var oCar1 = new Car();
var oCar2 = new Car();
__proto__ , constructor , prototype
hasOwnProperty()
hasOwnProperty()函数用于指示一个对象自身(不包括原型链)是否具有指定名称的属性。
如果有,返回true,否则返回false。
语法:object.hasOwnProperty( propertyName ) hasOwnProperty()函数的返回值为Boolean类型。
如果对象object具有名称为propertyName的属性,则返回true,否则返回false。
此方法不会检查对象的原型链中是否存在该属性,该属性只有是对象本身的一个成员才会返回true。
---恢复内容结束---