高級(jí)1

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

面向?qū)ο缶幊?br> 特性: 把某個(gè)功能看成一個(gè)整體(對(duì)象)台颠,通過調(diào)用對(duì)象的某個(gè)方法來啟動(dòng)
功能定嗓。在用的時(shí)候不去考慮這個(gè)對(duì)象內(nèi)部的實(shí)現(xiàn)細(xì)節(jié),在去實(shí)現(xiàn)這個(gè)對(duì)象細(xì)節(jié)的時(shí)候不用管誰在調(diào)用注整。
面向?qū)ο蟮膶懛ú粌H更簡潔能曾,而且更可控。

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

舉列說明

// 第一種方法
function Person(nick, age) {
    this.nick = nick;
    this.age = age;
    this.sayName = function() {
        console.log(this.nick);
    }
}
var p1 = new Person('Byron', 25);
// 第二種方法
function Person(nick, age){
    this.nick = nick;
    this.age = age;
}
Person.prototype.sayName = function(){
    console.log(this.nick);
}

var p1 = new Person();
p1.sayName();
// 1肿轨、創(chuàng)建類的實(shí)列寿冕,即p1={},這步是把一個(gè)空的對(duì)象的proto屬性設(shè)置為F.prototype
// 2、初始化實(shí)列椒袍。函數(shù)F被傳入?yún)?shù)并調(diào)用驼唱,關(guān)鍵字this被設(shè)定為該實(shí)列
// 3、返回實(shí)列
問題3: prototype 是什么驹暑?有什么特性

因?yàn)槿魏晤惖膒rototype屬性本質(zhì)上都是個(gè)類Object的實(shí)例玫恳。
我們通過函數(shù)定義了類辨赐,類(函數(shù))自動(dòng)獲得屬性prototype,
每個(gè)類的實(shí)例都會(huì)有一個(gè)內(nèi)部屬性__proto__京办,指向類的prototype屬性掀序。 特性:
實(shí)列可以通過prop 訪問到其類型的prototype屬性,這就意味著類的prototype對(duì)象可以作為一個(gè)公共容器,供所有實(shí)列訪問惭婿。
能夠抽象重復(fù)的理由:
所有實(shí)列都會(huì)通過原型鏈引用到類型prototype
prototype相當(dāng)于特定類型所有實(shí)列都可以訪問到的一個(gè)公共容器
重復(fù)的東西移動(dòng)到公共容器里放一份就可以了

問題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('前端');
原型圖.png
問題5: 創(chuàng)建一個(gè) Car 對(duì)象不恭,擁有屬性name、color财饥、status换吧;擁有方法run,stop钥星,getStatus.
    // 創(chuàng)建一個(gè)Car對(duì)象

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

        var car1 = new Car('寶馬', 'red', 'good');
問題6: 創(chuàng)建一個(gè) GoTop 對(duì)象沾瓦,當(dāng) new 一個(gè) GotTop 對(duì)象則會(huì)在頁面上創(chuàng)建一個(gè)回到頂部的元素,點(diǎn)擊頁面滾動(dòng)到頂部打颤。擁有以下屬性和方法
  1. ct屬性暴拄,GoTop 對(duì)應(yīng)的 DOM 元素的容器
  2. target屬性, GoTop 對(duì)應(yīng)的 DOM 元素
  3. bindEvent 方法编饺, 用于綁定事件
    4 createNode 方法乖篷, 用于在容器內(nèi)創(chuàng)建節(jié)點(diǎn)
// 創(chuàng)建一個(gè)GoTop對(duì)象

        function GoTop($ct, $target) {
            this.$ct = $ct;
            this.$target = $target;
            this.bindEvent();
        }
        GoTop.prototype = {
            bindEvent: function() {
                this.createNode();
                this.$ct.on('click', function() {
                    // this.scrollTop(0);
                    // console.log($(this).scrollTop());
                    $(window).scrollTop(0);
                })
            },
            createNode: function() {
                this.$target.css({
                    padding: 10,
                    background: 'red',
                    outline: 'none',
                    border: 'none',
                })
                this.$ct.append(this.$target);
                $('body').append(this.$ct);
            }
        }

        var $ct = $('<div class="wrap"></div>');
        var $target = $('<button class="btn">GoTop</button>');

        new GoTop($ct, $target);
問題7: 使用木桶布局實(shí)現(xiàn)一個(gè)圖片墻

效果
代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市透且,隨后出現(xiàn)的幾起案子撕蔼,更是在濱河造成了極大的恐慌,老刑警劉巖秽誊,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲸沮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡锅论,警方通過查閱死者的電腦和手機(jī)讼溺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來最易,“玉大人怒坯,你說我怎么就攤上這事≡謇粒” “怎么了剔猿?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長嬉荆。 經(jīng)常有香客問我归敬,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任汪茧,我火速辦了婚禮椅亚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘陆爽。我一直安慰自己什往,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布慌闭。 她就那樣靜靜地躺著,像睡著了一般躯舔。 火紅的嫁衣襯著肌膚如雪驴剔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天粥庄,我揣著相機(jī)與錄音丧失,去河邊找鬼。 笑死惜互,一個(gè)胖子當(dāng)著我的面吹牛布讹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播训堆,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼描验,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了坑鱼?” 一聲冷哼從身側(cè)響起膘流,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鲁沥,沒想到半個(gè)月后呼股,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡画恰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年彭谁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片允扇。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缠局,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蔼两,到底是詐尸還是另有隱情甩鳄,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布额划,位于F島的核電站妙啃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜揖赴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一馆匿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧燥滑,春花似錦渐北、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搀菩,卻和暖如春呕臂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肪跋。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工歧蒋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人州既。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓谜洽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吴叶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子阐虚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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