對象和原型

問題1: OOP 指什么?有哪些特性

  • OOP是Object-orientend programming

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by making them out of objects that interact with one another. There is significant diversity of OOP languages, but the most popular ones are class-based, meaning that objects are instances of classes, which typically also determine their type. -- 來自 wiki

  • OOP的特性:
    1.繼承性:可以解決代碼復(fù)用伤极,讓編程更加靠近人類思維酬荞。當(dāng)多個(gè)類存在相同的屬性(變量)和方法時(shí),可以從這些類中抽象出父類畅买,在父類中定義這些相同的屬性和方法,所有的子類不需要重新定義這些屬性和方法细睡,只需要通過繼承父類中的屬性和方法谷羞。
    2.封裝性:封裝就是把抽象出來的數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一起,數(shù)據(jù)被保護(hù)在內(nèi)部,程序的其它部分只有通過被授權(quán)的操作(成員方法)湃缎,才能對數(shù)據(jù)進(jìn)行操作犀填。
    3.多態(tài)性:指一個(gè)引用(類型)在不同情況下的多種狀態(tài)。也可以理解成:多態(tài)是指通過指向父類的引用嗓违,來調(diào)用在不同子類中實(shí)現(xiàn)的方法九巡。多態(tài)利于代碼的維護(hù)和擴(kuò)展,當(dāng)我們需要使用同一類樹上的對象時(shí)蹂季,只需要傳入不同的參數(shù)就行了冕广,而不需要再new 一個(gè)對象。

問題2: 如何通過構(gòu)造函數(shù)的方式創(chuàng)建一個(gè)擁有屬性和方法的對象?

     function People(name,age) {
         this.name = name
         this.age = age
     }
     People.prototype.work = function() {
         console.log('我的名字是:' + this.name + '我今年' + this.age + '歲了')
     }

     var people01 = new People('Jack',18)
     people01.work()

問題3: prototype 是什么偿洁?有什么特性

  • JavaScript 的每個(gè)對象都繼承另一個(gè)對象撒汉,后者稱為“原型”(prototype)對象。只有null除外涕滋,它沒有自己的原型對象睬辐。每一個(gè)構(gòu)造函數(shù)都有一個(gè)prototype屬性,這個(gè)屬性就是實(shí)例對象的原型對象宾肺。

問題4:畫出如下代碼的原型圖

function People (name){
  this.name = name;
  this.sayName = function(){
    console.log('my name is:' + this.name);
  }
}

People.prototype.walk = function(){
  console.log(this.name + ' is walking');  
}

var p1 = new People('饑人谷');
var p2 = new People('前端');
QQ截圖20171110191521.png

問題5. 創(chuàng)建一個(gè) Car 對象溯饵,擁有屬性name、color锨用、status丰刊;擁有方法run,stop黔酥,getStatus

        function Car(name,color,status) {
            this.name = name
            this.color = color
            this.status = status
        }
        Car.prototype = {
            run: function() {
                console.log('run')
            },
            stop: function() {
                console.log('stop')
            },
            getStatus: function() {
                console.log(this.status)
            }
        }

問題6.創(chuàng)建一個(gè) GoTop 對象藻三,當(dāng) new 一個(gè) GotTop 對象則會(huì)在頁面上創(chuàng)建一個(gè)回到頂部的元素,點(diǎn)擊頁面滾動(dòng)到頂部跪者。擁有以下屬性和方法

1. `ct`屬性棵帽,GoTop 對應(yīng)的 DOM 元素的容器
2.  `target`屬性, GoTop 對應(yīng)的 DOM 元素
3.  `bindEvent` 方法渣玲, 用于綁定事件
4 `createNode` 方法逗概, 用于在容器內(nèi)創(chuàng)建節(jié)點(diǎn)

GoTop Demo

問題7: 使用木桶布局實(shí)現(xiàn)一個(gè)圖片墻

Barrels Demo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市忘衍,隨后出現(xiàn)的幾起案子逾苫,更是在濱河造成了極大的恐慌,老刑警劉巖枚钓,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铅搓,死亡現(xiàn)場離奇詭異,居然都是意外死亡搀捷,警方通過查閱死者的電腦和手機(jī)星掰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門多望,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人氢烘,你說我怎么就攤上這事怀偷。” “怎么了播玖?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵椎工,是天一觀的道長。 經(jīng)常有香客問我蜀踏,道長维蒙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任果覆,我火速辦了婚禮木西,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘随静。我一直安慰自己,他們只是感情好吗讶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布燎猛。 她就那樣靜靜地躺著,像睡著了一般照皆。 火紅的嫁衣襯著肌膚如雪重绷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天膜毁,我揣著相機(jī)與錄音昭卓,去河邊找鬼。 笑死瘟滨,一個(gè)胖子當(dāng)著我的面吹牛候醒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杂瘸,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼倒淫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了败玉?” 一聲冷哼從身側(cè)響起敌土,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎运翼,沒想到半個(gè)月后返干,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡血淌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年矩欠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晚顷,死狀恐怖峰伙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情该默,我是刑警寧澤瞳氓,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站栓袖,受9級特大地震影響匣摘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜裹刮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一音榜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捧弃,春花似錦赠叼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至买鸽,卻和暖如春涧郊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背眼五。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工妆艘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人看幼。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓批旺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親桌吃。 傳聞我的和親對象是個(gè)殘疾皇子朱沃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容