ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript オブジェクト指向の名前空間_js オブジェクト指向

Javascript オブジェクト指向の名前空間_js オブジェクト指向

WBOY
WBOYオリジナル
2016-05-16 18:27:30850ブラウズ

JavaScript には名前空間の概念はありませんが、オブジェクト指向の考え方を反映するには、Java のパッケージや .net の名前空間と同じように、
は主にクラス名の競合を防ぐために使用されます。同じクラス名は、異なる名前空間に属している限り競合しません。
名前空間を作成する最も簡単な方法:

コードをコピーします コードは次のとおりです:
var java = {};
java.util = {};
//これで名前空間が正常に作成されます: java.util
//Java にクラス (関数) と属性を追加できます。 util 、またはオブジェクト
java.util.HashMap = function()
{
this.ShowMessage = function()
{
alert("java.util.HashMap"); > }
}
var map = new java.util.HashMap();
alert(map.ShowMessage()) //結果を表示: java.util.HashMap
//作成をカプセル化します。 Space メソッドの名前付け:
//オブジェクトを定義します。js でオブジェクトを定義するには、{} を使用します。これは、var JsObject = new Object();
var JsObject = {}; と同等です。 .namespace = function () //JsObject オブジェクトの下に関数の名前空間を定義します。
{
//*次のコードでは、関数がパラメーターを明確に定義していない場合、引数は関数によって渡されるパラメーターです。
関数はパラメータを渡すこともでき、引数を使用して受け取ることもできます。引数は配列と同様です。
複数のパラメータが渡された場合、値メソッド: argument[0],arguments が順番に保存されます。 [1]....*/
var a = 引数 ,o = null,d,rt;
for(var i = 0; i { d = a[i].split('.'); / / 受信パラメータを '.' 記号で分割し、d 配列に入れます。
rt = d[0];
//配列の最初の値が未定義であるかどうかを判断し、未定義の場合は空のオブジェクトとして定義し、変数 o
eval に代入します。 (' if (typeof ' rt ' == "未定義"){'
rt ' = {};} o = ' rt ';');
for(var j = 1; j {
/* 配列 d の各値をキーとしてループし、それをオブジェクト o に追加します。キーが o に存在する場合、
が存在しない場合は、o の中央の値を取得します。 、値を空のオブジェクトとして割り当てます {} */
o[d[j]] = o[d[j]] {};
o = o[d[j]]; }
}
}
JsObject.namespace("org.myJs"); //名前空間を宣言します: org.myJs
org.myJs.Student = function() //以下のクラスを定義します名前空間 org.myJs Student
{
//クラス Student に変数を定義し、初期値を代入しますが、この変数のアクセス権限は public です
this.studentNo = 's001'; >this.studentName = 'Xiao Ming ';
this.sex = ' Male';
var s = new org.myJs.Student(); // Student クラスのオブジェクトを作成します>alert('学生番号:' s .studentNo);
alert('名前:' s.studentName);


効果と最初の記事(1) javascript体験まとめ オブジェクト指向 - クラスの結果は同じ
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。