Mode Kombinasi: Gabungkan sekelompok objek ke dalam struktur pohon, perlakukan objek gabungan dan objek daun dengan cara terpadu, dan abaikan perbedaan di antara mereka (karena objek daun juga dapat berisi objek daun dan menjadi objek gabungan). Objek dalam mode kombinasi hanya bisa menjadi hubungan satu-ke-banyak, dan tidak ada banyak hal yang dapat terjadi.
Unit Dasar: Objek gabungan berisi beberapa objek daun. Setiap unit dasar dapat menjadi objek daun dari objek kombinasi lain. Folder atau file juga dapat berupa konten folder lain, tetapi folder atau file tidak dapat dimiliki oleh beberapa folder superior secara bersamaan.
Saat menerapkan mode kombinasi dalam JavaScript, untuk memastikan bahwa objek gabungan dan objek daun memiliki metode antarmuka yang sama, operasi kelompok objek daun yang sama harus konsisten.
contoh:
// Tentukan objek gabungan var folder = function (name) {this.name = name; this.parent = null; this.files = [];}; folder.prototype.add = function (file) {file.parent = this; if (this.files.indexof (file) === -1) {this.files.push (file);} else {console.log ('/'+file.name+'/' sudah ada, tambahkan gagal ');}}; folder.prototype.scan = function () {if (this.parent) {console.log (' start scan/'+this. '+this.name);} else {console.log (' Mulai memindai direktori root: '+this.name);} // Kuncinya ada di sini, panggil metode antarmuka semua objek daunnya memindai () untuk (var i = 0, file; file = this.files [i ++];) {file.scan (); this.files.indexof (file); if (n === -1) {console.log ('tidak dapat menghapus: /''+file.name+'/' tidak ada: ');} if (n> = 0) {this.files.splice (n, 1); console.log (log (' berhasil dihapus: '+function (n, 1); console.log (' lexe ('function. {this.name = name; this.parent = null;}; file.prototype.add = function () {console.log ('tidak dapat ditambahkan di bawah file');}; file.prototype.scan = function () {console.log (this.parent.name+':'+this.name); {console.log (this.parent.name+':'+this.name); {console.log (this.parent.name+':'+this.name); {console.log('can't be deleted: /''+file.name+'/'Do not exist:');};//Test var folder = new Folder('Directory');var folder1 = new Folder('Learn Material');var folder2 = new Folder('javascript');var file1 = new File('Node.js');var file2 = new File ('qq.jpg'); folder.add (folder1); folder.add (folder1); folder.add (folder2); folder1.add (file1); folder2.add (file2); // 'materi pembelajaran' ditambahkan // 'materi pembelajaran' yang telah berhasil, tetapi gagal untuk menambahkan // 'JAVAS' NOMODE 'Ditambahkan //' berhasil // 'qq.jpg' ditambahkan berhasil melipat. // Ini setara dengan mengeksekusi perintah makro // mulai memindai direktori root: direktori // mulai memindai 'direktori': javascript // javascript: qq.jpgDi atas adalah mode kombinasi JavaScript yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!