站長資訊網
        最全最豐富的資訊網站

        javascript uber是什么

        javascript uber是早期javascript中用于讓某方法調用父類的一種方法,uber方法類似于Java的super。

        javascript uber是什么

        本文操作環境:windows7系統、javascript1.8.5版,DELL G3電腦。

        javascript uber是什么?

        在早期的JavaScript中,uber方法類似于Java的super,它可以讓某方法調用父類的方法。Douglas Crockford使用了德語的"über",其意思類似于super,避免了和保留字的沖突。

        但是,Crockford也說,super的思想在classical設計模式中很重要,但是在JavaScript的原型和函數設計模式中,顯得沒有必要。Classical Inheritance in JavaScript經典的面向對象語言一般都有訪問父類(超類)的特殊語法,這樣子類的方法就可以使用父類的方法了,子類和父類的方法同名。現代JavaScript中,沒有這種特殊語法,uber可以實現這一功能,但是繁瑣一些。來看下面的例子:

        // inheritance helper function extend(Child, Parent) {   var F = function () {};   F.prototype = Parent.prototype;   Child.prototype = new F();   Child.prototype.constructor = Child;   Child.uber = Parent.prototype; } // define -> augment function Shape() {} Shape.prototype.name = 'Shape'; Shape.prototype.toString = function () {   return this.constructor.uber   ? this.constructor.uber.toString() + ', ' + this.name   : this.name; }; // define -> inherit -> augment function TwoDShape() {} extend(TwoDShape, Shape); TwoDShape.prototype.name = '2D shape'; // define function Triangle(side, height) {   this.side = side;   this.height = height; } // inherit extend(Triangle, TwoDShape); // augment Triangle.prototype.name = 'Triangle'; Triangle.prototype.getArea = function () {   return this.side * this.height / 2; };

        在Console中輸入:

        var my = new Triangle(5, 10); my.toString();

        輸出:"Shape, 2D shape, Triangle"

        派生的層次是:Shape -> TwoDShape -> Triangle

        函數extend將繼承的代碼封裝了起來。

        臨時構造函數F()的作用:當子類的屬性改變時,不改變父類的屬性。

        uber屬性:指向父類原型。

        toString()方法中,檢查構造函數的父類的原型是否存在,如果存在,則調用其toString()方法,由此實現了在子類中調用父類方法。

        推薦學習:《javascript基礎教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品一区二区三区免费| 精品亚洲永久免费精品| 国产乱人伦偷精品视频AAA| 2024国产精品极品色在线| 亚洲成网777777国产精品| 午夜三级国产精品理论三级 | 欧美精品一区二区三区免费| 久久91精品久久91综合| 亚洲精品无码永久中文字幕| 国产精品99久久久久久董美香| 久久精品国产99久久无毒不卡| 欧美日韩精品一区二区三区不卡 | 国产精品福利自产拍在线观看| 午夜三级国产精品理论三级| 国产精品永久免费视频| 国产成人精品天堂| 久久久久人妻一区精品性色av| 欧美日韩精品久久久免费观看| 99热这里只有精品6国产免费| 99国产欧美精品久久久蜜芽| 国产精品久久久久久福利漫画 | 亚洲精品一品区二品区三品区| 国产欧美精品一区二区色综合| 国产精品视频a播放| 久久国产亚洲精品无码| 亚洲精品无码精品mV在线观看| 久久精品二区| 国产精品男男视频一区二区三区| 国内精品手机在线观看视频| 国产日韩精品中文字无码| 精品无码一区二区三区亚洲桃色 | 热久久国产精品| 97热久久免费频精品99| 人妻少妇偷人精品无码| 一本久久a久久精品亚洲| 无码精品久久一区二区三区| 久久免费精品视频| 99精品国产在热久久无毒不卡| 久久亚洲私人国产精品vA| 中文字幕在线亚洲精品| 亚洲国产高清精品线久久|