繼承是物件導向的乙個核心概念,其他主要物件導向的繼承主要靠兩種方式實現繼承 一種是繼承 另一種是介面實現
一.原型繼承
desk 的原型獲得是box()的例項和原型 以此類推
就近元則:先查詢例項有沒有該屬性 ,然後在查詢原型裡面是否還有該屬性
alert(desk instanceof box) true二.借用建構函式(物件冒充函式)
解決引用共享和超型別傳引數的問題
functon box(name,age)三.組合繼承(物件冒充繼承和原型繼承)box.prototype.family='家庭';
function desk()
var desk=new desk();
alert(desk.name);
alert(desk.family) 物件冒充解決了共享問題和傳引數的問題 但是只能繼承例項的問題 不能繼承原型 方法放在構造裡,浪費空間,每次例項化都分配位址
functon box(name,age)四.原型繼承box.prototype.run()
function desk()
desk.prototype=new box();
var desk=new desk();
alert(desk.name);
alert(desk.family)
alert(desk.run())
function obj(0) 用來儲存傳遞過來的物件f.prototype=o;
return new f();
}var box=
var box1=obj(box) box1 等於new f();
alert(box1.family);
box1.push('弟弟')
alert(box1.family);五.寄生式繼承(原型加工廠模式)var box2=obj(box);
alert(box2.family); 引用型別屬性共享了
function obj(o) 用來儲存傳遞過來的物件六寄生組合繼承f.prototype=o;
return new f();
} function create(o)
return f;
}var box=
var box1=create(box);
alert(box1.name)
function create(box, desk)function box(name, age)
box.prototype.run = function ()
function desk(name, age)
//通過寄生組合繼承來實現繼承
create(box, desk); //這句話用來替代desk.prototype = new box();
var desk = new desk('lee', 100);
alert(desk.run());
alert(desk.constructor);
上班第二天
本想坐晚一班車的,誰知道這晚一班的也只是晚了 五 六分鐘,不高興再在站台上等,也只好小跑到車門上去了,果然,八點十分就到了。白天那個困啊 今天的工作內容和昨天一樣,做到後來我實在覺得測的差不多了,想幹些其他的,但這初來乍到的,也不好幹其他的呀,況且領導辦公室就在我旁邊。今天的工作總結有兩點 1 別把...
第二天實習
今天我早早到了銀行,開始給大家抹桌子,算是向愛妃學習吧。之後向wqy學習做表的方法,他很耐心。今天一天也就是做了這麼乙個表,但是還向dh學習了另外一些業務的處理,收穫不小。中午吃了雞腿 肉串和芸豆,好開心啊。我越來越喜歡自己的實習了。今天好多自己班上的同學來面試實習生,希望她們都能上!今天我沒有去同...
實習第二天
又是早起擠地鐵的一天 今天symphony說給我換了個導師,richard。於是我開始自己看,但是我並不清楚背景,不知道整個資料夾是幹什麼目的的,也不知道哪些檔案是需要看的。然後在richard的講解下,我慢慢明白了,終於知道我是幹啥的了,就是完善優化他們寫的自動化測試程式,首先是要看懂他們寫的。按...