Rumah > Artikel > hujung hadapan web > apa itu javascript uber
javascript uber ialah kaedah yang digunakan dalam javascript awal untuk membenarkan kaedah tertentu memanggil kelas induk Kaedah uber adalah serupa dengan super Java.
Persekitaran pengendalian artikel ini: sistem Windows 7, versi JavaScript 1.8.5, komputer DELL G3.
Apakah itu javascript uber?
Dalam JavaScript awal, kaedah uber adalah serupa dengan super Java, yang membenarkan kaedah untuk memanggil kaedah kelas induk. Douglas Crockford menggunakan bahasa Jerman "über", yang bermaksud sesuatu yang serupa dengan super, untuk mengelakkan konflik dengan perkataan terpelihara.
Walau bagaimanapun, Crockford juga berkata bahawa idea super adalah sangat penting dalam corak reka bentuk klasik, tetapi ia tidak diperlukan dalam prototaip dan corak reka bentuk fungsi JavaScript. Warisan Klasik dalam JavaScript Bahasa berorientasikan objek klasik biasanya mempunyai sintaks khas untuk mengakses kelas induk (kelas super), supaya kaedah subkelas boleh menggunakan kaedah kelas induk, dan kaedah subkelas dan induk. kelas mempunyai nama yang sama. Dalam JavaScript moden, tiada sintaks khas seperti itu boleh melaksanakan fungsi ini, tetapi ia lebih menyusahkan. Pertimbangkan contoh berikut:
// 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; };
Input dalam Konsol:
var my = new Triangle(5, 10); my.toString();
Output: "Bentuk, bentuk 2D, Segitiga"
Hierarki terbitan ialah: Bentuk -> TwoDShape -> fungsi Segitiga
merangkum kod yang diwarisi.
Peranan pembina sementara F(): apabila atribut subkelas berubah, atribut kelas induk tidak diubah.
atribut uber: menunjuk kepada prototaip kelas induk.
Dalam kaedah toString(), semak sama ada prototaip kelas induk pembina wujud Jika ia wujud, panggil kaedah toString()nya, dengan itu menyedari memanggil kaedah kelas induk dalam subkelas.
Kajian yang disyorkan: "Tutorial Asas JavaScript"
Atas ialah kandungan terperinci apa itu javascript uber. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!