javascript: prototype
阿新 • • 發佈:2019-01-15
構造 原型 span ear 轉載 .com ise height getter
[ 作者:byeyear Email:[email protected] 轉載請註明 ]
古希臘有哲學家認為,在那遙遠的虛無之處,人類目光所不能及的地方,有一匹原型馬,世間萬馬皆依此而生。我們有構造函數horse()用於從原型馬構造一匹我們能看到、觸摸到、騎到的馬:
function horse() { this.color = ‘red‘; this.height = 80; this.length = 160; }
// Now, if you want, you can construct your own horse.
// var myHorse = new horse();
可以從該構造函數訪問原型馬:
console.log(horse.prototype);
老子說過,一生二,二生三,三生萬物。我們的原型馬生自Object:
console.log(horse.prototype.__proto__);
>constructor: ƒ Object() >hasOwnProperty: ƒ hasOwnProperty() >isPrototypeOf: ƒ isPrototypeOf() >propertyIsEnumerable: ƒ propertyIsEnumerable()>toLocaleString: ƒ toLocaleString() >toString: ƒ toString() >valueOf: ƒ valueOf() >__defineGetter__: ƒ __defineGetter__() >__defineSetter__: ƒ __defineSetter__() >__lookupGetter__: ƒ __lookupGetter__() >__lookupSetter__: ƒ __lookupSetter__()>get __proto__: ƒ __proto__() >set __proto__: ƒ __proto__()
在原型馬上新定義的方法可被早先構建的現實馬所用:
var myHorse = new horse(); horse.prototype.run = function() {alert(‘I am running!‘); } myHorse.run();
我們的馬可騎,有自己的名字,黑色:
myHorse.color = ‘black‘; myHorse.name = ‘Lili‘; myHorse.ride = function() { alert(‘Ride me!‘); }
javascript: prototype