0

withJavaScriptでのキーワードの使用に関する投稿、質問、記事をたくさん読んできました。記事の中には、Javascript のキーワードの使用を警告しているものがあるwithので、私の使用法が適切かどうかを知りたいです。

私のプログラミング経験のほとんどは C# と Java でした。そのため、関連するオブジェクトを作成するとき、それらの名前空間は理にかなっています。

私が試みているアプローチは、最初にルート名前空間をグローバルにアクセス可能なオブジェクトとして作成することです。オブジェクトのメンバーは、オブジェクトでもある最初のレベルの名前空間です。

名前空間にオブジェクトを追加するときは、Javascriptwithキーワードを使用して、with のスコープ内で引数のメンバーにローカルでアクセスできるようにします。名前空間を移動するときは、withs をネストし、入力する名前空間に引数を設定します。

次に例を示します。

var Namespace = {
    SubNamespace1: {},
    SubNamespace2: {}

}
with (Namespace) {

    with (SubNamespace1) {

        SubNamespace1.FirstClass = {
            foo: function() {
                SecondClass.bar();
            },
            bar: function() {
                SecondClass.foo();
            }

        },
        SubNamespace1.SecondClass = {
            foo: function() {
                FirstClass.bar();
            },
            bar: function() {
                FirstClass.foo();
            }
        }
    }

    with (SubNamespace2) {

        SubNamespace2.FirstClass = {
            foo: function() {
                SecondClass.bar();
            },
            bar: function() {
                SecondClass.foo();
            }
        },
        SubNamespace2.SecondClass = {
            foo: function() {
                FirstClass.bar();
            },
            bar: function() {
                FirstClass.foo();
            }
        }
    }
}
4

0 に答える 0