JS自定義混合Mixin函數(shù)示例
本文實例講述了JS自定義混合Mixin函數(shù)。分享給大家供大家參考,具體如下:
<script type="text/javascript"> /* 增加函數(shù) */ function augment(receivingClass, givingClass) { for(methodName in givingClass.prototype) { if(!receivingClass.prototype[methodName]) { receivingClass.prototype[methodName] = givingClass.prototype[methodName]; } } } /* 改進(jìn)的增加函數(shù) */ function augment(receivingClass, givingClass) { if(arguments[2]) { // Only give certain methods. for(var i = 2, len = arguments.length; i < len; i++) { receivingClass.prototype[arguments[i]] = givingClass.prototype[arguments[i]]; } } else { // Give all methods. for(methodName in givingClass.prototype) { if(!receivingClass.prototype[methodName]) { receivingClass.prototype[methodName] = givingClass.prototype[methodName]; } } } } var Author = function Author(name, books) { // 構(gòu)造函數(shù) this.name = name; this.books = books || 'default value'; }; Author.prototype = { getName: function() { return this.name; }, getBooks: function() { return this.books; } }; var Editor = function Editor() { }; Editor.prototype = { hello: function() { return 'Hello,'+this.name; } }; augment(Author, Editor); var author = new Author('Ross Harmes', ['JavaScript Design Patterns']); console.log(author.getName()); console.log(author.getBooks()); console.log(author.hello()); </script>
結(jié)果:
經(jīng)過拼接處理之后,author就獲取到了hello方法了,屬性還是自己的name。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
Javascript中document.referrer隱藏來源的方法
這篇文章主要介紹了Javascript中document.referrer隱藏來源的方法,文中通過一個實例給大家介紹了實現(xiàn)的方法,有需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2017-01-01JavaScript簡單實現(xiàn)鼠標(biāo)移動切換圖片的方法
這篇文章主要介紹了JavaScript簡單實現(xiàn)鼠標(biāo)移動切換圖片的方法,涉及JavaScript針對鼠標(biāo)事件的響應(yīng)及頁面元素的動態(tài)變換技巧,需要的朋友可以參考下2016-02-02JavaScript flash復(fù)制庫類 Zero Clipboard
開發(fā)中經(jīng)常會用到復(fù)制的功能,在 IE 下實現(xiàn)比較簡單。但要想做到跨瀏覽器比較困難了。2011-01-01