0

命名空间树 javascript 示例和语法解释。

这个命名空间要在 javascript 中定义:

  1. 根人

  2. 根目录

  3. root.home.relative

我试错了:

var root='';
root.person='';
root.home='';
root.home.relative='';

请解释你的代码我不太了解 js 以及 php/c/java

谢谢

4

3 回答 3

3

JavaScript 没有 Java 等意义上的“命名空间”的概念。相反,我们使用良好的旧对象,并为这些对象添加属性。

如果root要成为你的“命名空间”,我们定义root为一个对象,并将命名空间的成员定义为对象上的成员(“person”、“home”、“relative”)。

要声明一个对象(for root),最简单的方法是使用对象字面量语法

var root = {
    person: 'Jim',
    home: 'London'
}

您可以使用以下语法嵌套对象(以实现嵌套relative对象:

var root = {
    person: {
        'first_name': 'Matt',
        'last_name': 'Smith'
    },
    home: {
        relative: 'Frank'
    }
} 
于 2011-08-22T16:04:39.847 回答
1

不确定我是否完全理解你的追求,但你的意思是:

var root = {};
root.person = '';
root.home = {};
root.home.relative = '';

如果您想动态地为对象提供额外的属性,而不仅仅是一个值,请将其声明为空对象文字var obj = {}; obj.subObj = {};等。

于 2011-08-22T16:05:59.490 回答
0

如果要嵌套属性,请将变量设为对象,而不仅仅是字符串:

var root = {};
root.person = '';
root.home = {};
root.home.relative = '';
console.log(root);

如果您使用的是 Firebug,console.log它将漂亮地打印您的对象层次结构。

于 2011-08-22T16:05:51.923 回答