JavaScript で名前空間を作成するさまざまな方法

autoload
リリース: 2021-04-02 09:45:46
オリジナル
2149 人が閲覧しました

JavaScript で名前空間を作成するさまざまな方法

#JavaScript では、グローバル変数によって名前の競合が頻繁に発生します。場合によっては、変数の書き換えも想像した順序と異なることがあります。そのため、グローバル変数名の競合を回避するには、名前空間を作成することが最適な解決策となります。

1. クロージャ (Closure) とオブジェクトによる実装

すべての変数とメソッドをクロージャ内で宣言し、

JSON を渡します。 Object パブリック インターフェイスを返します:

var NameSpace = NameSpace || {};
 NameSpace.Hello = (function() {   
 //待返回的公有对象  
  var self = {};   
  //私有变量或方法   
  var name = 'world';  
   //公有方法或变量   
   self.sayHello = function(_name) {    
    return 'Hello ' + (_name || name);  
     } ;   
     //返回的公有对象   
     return self; 
}());
ログイン後にコピー

2. JSON オブジェクトを通じてオブジェクトを作成します。コードは次のとおりです:

var NameSpace = NameSpace || {}; 
NameSpace.Hello = {     name: 'world'   , sayHello: function(_name) {   
  return 'Hello ' + (_name || this.name);  
   }
 };
ログイン後にコピー

3. 関数を通じて作成: (より複雑)

これは、

関数# を宣言することによる、比較的一般的な記述方法です。 ## が実装され、関数に初期変数を設定し、<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">var NameSpace = NameSpace || {}; /* Function */ NameSpace.Hello = function() { this.name = &amp;#39;world&amp;#39;; }; NameSpace.Hello.prototype.sayHello = function(_name) { return &amp;#39;Hello &amp;#39; + (_name || this.name); }; var hello = new NameSpace.Hello(); hello.sayHello();</pre><div class="contentsignin">ログイン後にコピー</div></div>4 のようにパブリック メソッドを

prototype

に書き込みます。関数を通じて作成します: (もっと簡潔に)

var NameSpace = NameSpace || {}; 
NameSpace.Hello = new function() {   
    var self = this;   
    var name = &#39;world&#39;;   
    self.sayHello = function(_name) {    
     return &#39;Hello &#39; + (_name || name);  
      }; 
 };
ログイン後にコピー
推奨: 「

2021 js 面接の質問と回答 (大規模な概要)

以上がJavaScript で名前空間を作成するさまざまな方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート