0

我一直在阅读大量关于with在 JavaScript 中使用关键字的帖子、问题和文章。有些文章警告不要使用 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