對象_原型

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

OOP指的是面向對象編程。就是將事物抽象成對象。
面向對象的三個基本特征是:封裝、繼承、多態(tài)。

  • 封裝,也就是把客觀事物封裝成抽象的類,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。
  • 繼承,它可以使用現(xiàn)有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進行擴展。
  • 多態(tài),允許將子類類型的指針賦值給父類類型的指針。實現(xiàn)多態(tài),有二種方式,覆蓋,重載。

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

function Car(brand){
    this.brand = brand;
    this.start = function(){
        console.log('gogogo');
    }
}

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

js本身不提供一個class的實現(xiàn),js對象都有一個私有屬性(稱之為 [[Prototype]]),它持有一個連接到另一個稱為其 prototype 對象(原型對象)的鏈接。該 prototype 對象又具有一個自己的原型,層層向上直到一個對象的原型為 null。JavaScript 中幾乎所有的對象都是位于原型鏈頂端的Object的實例。

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

prototype

問題5: 創(chuàng)建一個 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 run run');
}

Car.prototype.stop = function() {
  console.log('stop');
}

Car.prototype.getStatus = function() {
  return this.status;
}

問題6: 創(chuàng)建一個 GoTop 對象,當 new 一個 GotTop 對象則會在頁面上創(chuàng)建一個回到頂部的元素,點擊頁面滾動到頂部。擁有以下屬性和方法

        function goTop($ct, $target){
          this.$ct = $ct;
          this.$target = $target;
          this.createNode();
          this.bindEvent();
        }

        goTop.prototype = {
          bindEvent: function(){
            this.$target.on('click', function(e){
              e.preventDefault();
              $('html,body').animate({
                scrollTop: 0
              }, 700);
            })
          },
          createNode: function(){
            this.$ct.append(this.$target);
          }
        }

        new goTop($('body'), $('<a href="#">top</a>'));
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容