關(guān)于對象的一些問題

  1. OOP 指什么痘昌?有哪些特性
  • “面向?qū)ο缶幊獭保∣bject Oriented Programming钥勋,縮寫為OOP)笔诵,指的是將事物抽象為對象進(jìn)行編程
  • 具有“封裝”乎婿、“繼承”、“多態(tài)”的特性
  • 封裝:將事物具有的同一類特征封裝起來森逮,使其成為一個(gè)對象
  • 繼承:對象之間可以相互繼承,派生對象(子對象)會擁有其原型對象(父對象)的所有方法和屬性闷供,這就是繼承
  • 多態(tài):同一個(gè)原型對象歪脏,派生的兩個(gè)派生對象中的相同方法名(如Array中的length和function中的length)可能實(shí)現(xiàn)的是不同的事情钞艇,這就是多態(tài)。
  1. 如何通過構(gòu)造函數(shù)的方式創(chuàng)建一個(gè)擁有屬性和方法的對象?
  • 屬性和方法要寫成this.xxx的形式
  • 保持書寫規(guī)范將構(gòu)造函數(shù)的第一個(gè)字母大寫
  • 使用構(gòu)造函數(shù)構(gòu)建對象時(shí)使用new關(guān)鍵字調(diào)用
  1. prototype 是什么葡秒?有什么特性
  • prototype是構(gòu)造函數(shù)的屬性,其值為此構(gòu)造函數(shù)的構(gòu)造出的對象的原型對象学少,如構(gòu)造函數(shù)為People,可以采用people.prototype.xxx為構(gòu)造函數(shù)的所構(gòu)造出的對象的原型對象中添加屬性和方法
  • 原型對象內(nèi)的值如果改變绒疗,從這個(gè)原型派生的所有派生對象內(nèi)的原型對象中的這個(gè)值(除非這個(gè)與這個(gè)值有關(guān)的屬性或方法已經(jīng)被覆蓋)都會立即改變
  • 任何對象都有其原型對象,除了null對象之外
  1. 畫出如下代碼的原型圖
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('前端');
image.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(){};
Car.prototype.stop = function(){};
Car.prototype.getStatus = function(){};
var car = new Car();
  1. 創(chuàng)建一個(gè) GoTop 對象会放,當(dāng) new 一個(gè) GotTop 對象則會在頁面上創(chuàng)建一個(gè)回到頂部的元素咧最,點(diǎn)擊頁面滾動到頂部矢沿。擁有以下屬性和方法
  • ct屬性,GoTop 對應(yīng)的 DOM 元素的容器
  • target屬性栽惶, GoTop 對應(yīng)的 DOM 元素
  • bindEvent 方法外厂, 用于綁定事件
  • createNode 方法, 用于在容器內(nèi)創(chuàng)建節(jié)點(diǎn)
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    .layout {
      max-width: 1260px;
      margin: 0 auto;
      height: 1px;
      position: relative;
    }
    .item {
      margin: 10px 10px 0 0;
      position: absolute;
      width: 200px;
      color: #aaa;
      transition: all 1s;
    }
    .h1 {
      height: 200px;
      background: palevioletred;
    }
    .h2 {
      height: 300px;
      background: yellow;
    }
    .h3 {
      height: 350px;
      background: blueviolet;
    }
  </style>
</head>
<body>
  <div class="layout">
    <div class="item h1">1</div>
    <div class="item h3">2</div>
    <div class="item h2">3</div>
    <div class="item h3">4</div>
    <div class="item h1">5</div>
    <div class="item h3">6</div>
    <div class="item h2">7</div>
    <div class="item h2">8</div>
    <div class="item h3">9</div>
    <div class="item h1">10</div>
    <div class="item h2">11</div>
    <div class="item h3">12</div>
    <div class="item h2">13</div>
    <div class="item h1">14</div>
    <div class="item h1">15</div>
    <div class="item h2">16</div>
  </div>
  <script src="jquery-3.2.1.min.js"></script>
  <script>
    fullwater()
    $(window).on('resize',fullwater)
    function fullwater(){
      var arrLength = parseInt($('.layout').width()/$('.item').outerWidth(true));
      var arr = [];
      for (var i = 0; i<arrLength; i++){
        arr[i] = 0;
      }
      $('.item').each(function(){
        var minValue = Math.min.apply(null,arr),
            minIndex = arr.indexOf(minValue);
        $(this).css({'top' : minValue,
                    'left': minIndex*$('.item').outerWidth(true)});
        arr[minIndex] += $(this).outerHeight(true);
      })
    }
    function GoTop ($ct){
      this.ct = $ct;
      this.target = this.createNode();
      this.bindEvent();
    }
    GoTop.prototype.createNode = function(){
      var $ct = this.ct;
      var $btn = $('<button>GoTop</button>');
      $btn.css({
        position : 'fixed',
        right : 20,
        bottom : 20
      })
      console.log($ct)
      console.log($btn)
      $ct.append($btn);
      return $btn;
    }
    GoTop.prototype.bindEvent = function(){
      this.target.on('click',function(){
        $(window).scrollTop(0)
      })
    }
    var aaa = new GoTop($('body'));
  </script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市紫谷,隨后出現(xiàn)的幾起案子笤昨,更是在濱河造成了極大的恐慌,老刑警劉巖崇裁,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葛峻,死亡現(xiàn)場離奇詭異,居然都是意外死亡采记,警方通過查閱死者的電腦和手機(jī)挺庞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人芍瑞,你說我怎么就攤上這事洪己〈鸩叮” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵沃琅,是天一觀的道長。 經(jīng)常有香客問我姥份,道長朱庆,這世上最難降的妖魔是什么娱颊? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任剧罩,我火速辦了婚禮惠昔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘来氧。我一直安慰自己啦扬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泉褐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪跳座。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音换淆,去河邊找鬼。 笑死县习,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播样勃,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼植锉,長吁一口氣:“原來是場噩夢啊……” “哼狮暑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起彭沼,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缔逛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褐奴,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡按脚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了敦冬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辅搬。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踊兜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤最欠,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站藻丢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦酿炸、人聲如沸壮莹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荒澡。三九已至慢睡,卻和暖如春窘俺,著一層夾襖步出監(jiān)牢的瞬間髓棋,已是汗流浹背豺旬。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工北启, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留得封,地道東北人梗逮。 一個(gè)月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓属划,卻偏偏與公主長得像同眯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

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