溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript組合模式指的是什么

發(fā)布時間:2021-09-26 09:16:36 來源:億速云 閱讀:115 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“JavaScript組合模式指的是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JavaScript組合模式指的是什么”這篇文章吧。

1、組合模式將對象組合成樹形結構,以表示部分-整體的層次結構。

2、除了用來表示樹形結構外,組合模式的另一個優(yōu)點是通過對象的多態(tài)性表達,用戶可以一致地使用單個對象和組合對象。

使用組合模式后,很容易掃描整個文件夾,我們只需要操作樹的頂部對象。

實例

    var Folder = function (name) {
 
      this.name = name;
 
      this.files = [];
 
    };
 
    Folder.prototype.add = function (file) {
 
      this.files.push(file);
 
    };
 
    Folder.prototype.scan = function () {
 
      console.log('開始掃描文件夾: ' + this.name);
 
      for (var i = 0, file, files = this.files; file = files[i++];) {
 
        file.scan();
 
      }
 
    };
 
 
 
    var File = function (name) {
 
      this.name = name;
 
    };
 
    File.prototype.add = function () {
 
      throw new Error('文件下面不能再添加文件');
 
    };
 
    File.prototype.scan = function () {
 
      console.log('開始掃描文件: ' + this.name);
 
    };
 
 
 
接下來創(chuàng)建一些文件夾和文件對象,并且讓它們組合成一棵樹。
 
  var folder = new Folder('學習資料');
 
  var folder1 = new Folder('JavaScript');
 
  var folder2 = new Folder('jQuery');
 
  var file1 = new File('JavaScript 設計模式與開發(fā)實踐');
 
  var file2 = new File('精通jQuery');
 
  var file3 = new File('重構與模式')
 
  folder1.add(file1);
 
  folder2.add(file2);
 
  folder.add(folder1);
 
  folder.add(folder2);
 
  folder.add(file3);

以上是“JavaScript組合模式指的是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI