ホームページ >ウェブフロントエンド >jsチュートリアル >シンプルな JS 多重継承の例_JavaScript スキル

シンプルな JS 多重継承の例_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 19:05:44932ブラウズ
复制代码代码如下:

$define = function (v) {
return v !=未定義;
}

クラス = 関数 () {
var base = {};
for (var k=0; k //{{new arguments[k]() with custom constructor field。
var o = arguments[k].prototype;
o.constructor = arguments[k];
arguments[k].call(o);
//}}
for (key in o) base[key] = o[key];
}
function Klass () {
// クラスごとに 1 つのオブジェクト キャッシュ。
var clso = null;
function klass() {
if (arguments.length // キャッシュにヒットします。
戻り clso;
}
if ($define(this.constructor.init)) {
// クラスの初期化には init() を使用します。
this.constructor.init.apply(this, arguments);
}
clso = これ;
}
klass.prototype = base;
戻りクラス;
}
return Klass();
}

A = 新しい Class();
A.init = function () {
this.x = 400;
this.y = 300;
}
B = 新しい クラス(A);
B.init = function () {
this.y = 200;
this.z = 100;
}
C = 新しい クラス(B);
C.init = function () {
this.z = 0;
}
c = new C();
アラート(c.x);
アラート(c.y);
アラート(c.z); 
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。