javascript_js オブジェクト指向でクラスを記述する 10 の方法

WBOY
リリース: 2016-05-16 18:50:38
オリジナル
831 人が閲覧しました
10. mootools.js でのクラスの書き方
mootools.js の最新バージョンは 1.2.3 ですが、ここでは 1.2.0 を使用します。 mootool は、非常にコンパクトなモジュール式のオブジェクト指向の JS ライブラリになるように設計されています。 mootool でクラスを作成するには Class クラスを使用します。 Class クラスは Native クラスからの新しいものです:
コードをコピー コードは次のとおりです:

/*
*Script: Class.js
*/
var Class = new Native({
name: 'Class',

initialize: function(properties){
properties = プロパティ || {};
var klass = function(empty){
for (this の var key) = $unlink(this[key]); var mutator in Class .Mutators){
if (!this[mutator]) continue;
Class.Mutators[mutator](this, this[mutator]); >}
this.constructor = klass;
if (empty === $empty) return this;

var self = (this.initialize) ? ) : this;
if (this.options && this.options.initialize) this.options.initialize.call(this);

$extend( klass, this) ;
klass.constructor = クラス;
}
});


これは mootools の 1 つであり、非常に重要なメソッドであり、多くのクラスがこれを使用してアセンブルします。ウィンドウ、ドキュメント、イベントなど。もちろん、ここにも Class があります。mootools をインポートした後は、クラスを作成するときに Class を使用するだけです。人物クラス:




コードをコピー


コードは次のとおりです: initialize: function(name){
this.name = name;
},
setName : function(name) {
this.name = name;
},
getName : function() {
return this.name;
}
})

//新しいオブジェクト
var p = new Person("jack");

//テストセット、メソッドを取得
console.log(p.getName());//jac
p.setName(' andy') ;
console.log(p.getName());//andy

//instanceof と p.constructor が正しく person を指しているかどうかをテストします
console.log(pinstanceof ); / /true
console.log(p.constructor == Person); //true


ネイティブは実際には、渡されたクラス (関数) を組み立てる単なる関数です。最後にクラス(関数)を返します。 Native は関数なので、関数の呼び出し方法は ()、call、apply となります。しかし、mootools では、新しいネイティブ (obj) メソッドが使用されます。なぜ?その理由は、Native をよりクラスのように見せるためです。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート