Javascript 名前空間 pattern_javascript のヒント

WBOY
リリース: 2016-05-16 17:17:56
オリジナル
914 人が閲覧しました

ただし、別のファイルの名前空間に属性を追加する場合は、まずその名前空間がすでに存在していることを確認する必要があり、同時に既存の名前空間に損傷を与えないようにする必要があります。これは、非破壊的な名前空間関数を通じて実現できます:

コードをコピーします コードは次のとおりです。

var KUI = KUI {};
KUI.utils = KUI.utils || {};

KUI.utils.namespace = function(ns){
var Parts = ns.split("."),
object = KUI ,
i, len;

if(parts[0] === "KUI"){
Parts = Parts.slice(1);
}

for(i = 0, len = Parts.length; i

if(!object[parts[i]]){
object[parts[ i]] = {};
}

object = object[parts[i]];
}

オブジェクトを返す;
};

使用法:

コードをコピー コードは次のとおりです。

KUI.utils.namespace("KUI. common") ;
KUI.utils.namespace("KUI.common.testing");
KUI.utils.namespace("KUI.modules.function.plugins");
KUI.utils.namespace ("フォーマット");

上記を経た後の KUI の内容を見てください:

コードをコピー コードは次のとおりです。

{
"utils": { },
"共通": {
"テスト": {}
},
"モジュール": {
"関数": {
"プラグイン": {}
}
},
"形式": {}
}

名前空間パターンの欠点

1. 長い文字を入力する必要があり、解析時間が長くなります。
2. 単一のグローバル変数への依存。つまり、どのコードでもグローバル インスタンスを変更でき、他のコードは変更されたサンプルを取得します。

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