1.簡單的原型鏈:
var song= function(){
this.a =5;
this.b=6;
}
//function song (){
this.a=5;
}
song.prototype={
add:function(a,b){return a+b+this.a+this.b;},
jian:function(a,b){return b-a;}
}
var jum= function(){
this.name="WTF";
}
jum.prototype=new song();
//讓jum類繼承song的一個實例(包括屬性和方法) 若只想song的方法,保持其屬性的私有性質,就能夠設置 jum.prototype =song.prototype;
jum.prototype.constructor=jum; //若是沒有將指向自己,則prototype.constructor就指向了一個空對象
調用方法:
var songjum= new jum();
songjum.add(3,4);
songjum.jian(2,5);
2.屬性查找:屬性在查找的時候是先查找自身的屬性,若是沒有再查找原型,再沒有,再往上走,一直插到Object的原型上。
3.hasOwnProperty
var foo = { hasOwnProperty: function() { return false; }, bar: 'Here be dragons'};foo.hasOwnProperty('bar'); // 老是返回 false// 使用{}對象的 hasOwnProperty,並將其上下爲設置爲foo{}.hasOwnProperty.call(foo, 'bar'); // true