真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScriptmixin實現(xiàn)多繼承的方法詳解

本文實例講述了JavaScript mixin實現(xiàn)多繼承的方法。分享給大家供大家參考,具體如下:

在西華等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,營銷型網(wǎng)站,外貿(mào)網(wǎng)站制作,西華網(wǎng)站建設(shè)費用合理。

mixin簡單通俗的講就是把一個對象的方法和屬性拷貝到另一個對象上,注意這個繼承還是有區(qū)別的。js是一種只支持單繼承的語言,畢竟一個對象只有一個原型,如果想實現(xiàn)多繼承,那就簡單暴力的把需要繼承的父類的所有屬性都拷貝到子類上,就是使用mixin啦。

下面所有代碼可以到github上查看完整版。

一個簡單的mixin

直接上代碼

function extend(destClass, srcClass) {
  var destProto = destClass.prototype;
  var srcProto = srcClass.prototype;
  for (var method in srcProto) {
    if (!destProto[method]) {
      destProto[method] = srcProto[method];
    }
  }
}
function Book(){}
Book.prototype.printName = function(){
  console.log('I am a book, named hello');
};
function JS(){}
extend(JS, Book);
var js = new JS();
console.log(js);

JavaScript mixin實現(xiàn)多繼承的方法詳解

現(xiàn)在你應(yīng)該大概了解mixin在做什么。

可以僅僅拷貝某些方法:

function extend(destClass, srcClass, methods) {
  var srcProto = srcClass.prototype;
  var destProto = destClass.prototype ;  
  for (var i=0; i

JavaScript mixin實現(xiàn)多繼承的方法詳解

mixin實現(xiàn)多繼承

直接上代碼。

function extend(destClass) {
  var classes = Array.prototype.slice.call(arguments, 1);
  for (var i=0; i

JavaScript mixin實現(xiàn)多繼承的方法詳解

總結(jié)

很多前端庫里都有mixin方法,只是叫法不一樣,比如 jQuery的extend ,文中我們實現(xiàn)的都是淺拷貝,jQuery中的extend可以實現(xiàn)深拷貝。很多庫會使用mixin的方式,將一些工具方法擴展到相應(yīng)對象中,實現(xiàn)代碼復用。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。


文章題目:JavaScriptmixin實現(xiàn)多繼承的方法詳解
瀏覽地址:http://weahome.cn/article/pcooei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部