ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript による名前空間のシミュレート_javascript のヒント

JavaScript による名前空間のシミュレート_javascript のヒント

WBOY
WBOYオリジナル
2016-05-16 16:03:301189ブラウズ

C と C# では、名前の競合を最小限に抑えるために名前空間が使用されます。たとえば、.NET Framework では、名前空間は Microsoft.Build.Task.Message クラスと System.Messaging.Message を区別するのに役立ちます。 JavaScript には名前空間をサポートする言語固有の機能はありませんが、オブジェクトを使用して名前空間をエミュレートするのは簡単です。 JavaScript ライブラリを作成している場合は、次のように、グローバル関数やクラスを定義せずに、それらを名前空間内にラップできます。

var MSDNMagNS = {};
MSDNMagNS.Pet = function(name) { // code here };
MSDNMagNS.Pet.prototype.toString = function() { // code };
var pet = new MSDNMagNS.Pet(“Yammer”);
名前空間のレベルは一意ではない可能性があるため、ネストされた名前空間を作成できます:


var MSDNMagNS = {};
// nested namespace “Examples”
MSDNMagNS.Examples = {};
MSDNMagNS.Examples.Pet = function(name) { // code };
MSDNMagNS.Examples.Pet.prototype.toString = function() { // code };
var pet = new MSDNMagNS.Examples.Pet(“Yammer”);
ご想像のとおり、これらの長くネストされた名前空間を入力するのは骨が折れるかもしれません。 幸いなことに、ライブラリ ユーザーは、名前空間に対して短いエイリアスを簡単に指定できます:


// MSDNMagNS.Examples and Pet definition...
// think “using Eg = MSDNMagNS.Examples;”
var Eg = MSDNMagNS.Examples;
var pet = new Eg.Pet(“Yammer”);
alert(pet);
Microsoft AJAX ライブラリのソース コードを見ると、ライブラリの作成者が同様のテクノロジを使用して名前空間を実装していることがわかります。ここでは詳しく説明しません。必要な方は Du Niang を参照してください。それを見つけるために。

上記がこの記事の全内容です。JavaScript を学習する皆さんのお役に立てれば幸いです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。