首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >名称空间树javascript示例和语法解释

名称空间树javascript示例和语法解释
EN

Stack Overflow用户
提问于 2011-08-22 16:02:01
回答 3查看 331关注 0票数 0

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

这个名称空间将在javascript中定义:

  1. root
  2. root.person
  3. root.home
  4. root.home.relative

我的尝试错了:

代码语言:javascript
复制
var root='';
root.person='';
root.home='';
root.home.relative='';

请解释你的代码--我不知道js --以及php/c/java

谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-08-22 16:04:39

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

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

要声明一个对象(对于root),最简单的方法是使用

代码语言:javascript
复制
var root = {
    person: 'Jim',
    home: 'London'
}

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

代码语言:javascript
复制
var root = {
    person: {
        'first_name': 'Matt',
        'last_name': 'Smith'
    },
    home: {
        relative: 'Frank'
    }
} 
票数 3
EN

Stack Overflow用户

发布于 2011-08-22 16:05:59

我不确定我完全明白你的意思,但你的意思是:

代码语言:javascript
复制
var root = {};
root.person = '';
root.home = {};
root.home.relative = '';

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

票数 1
EN

Stack Overflow用户

发布于 2011-08-22 16:05:51

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

代码语言:javascript
复制
var root = {};
root.person = '';
root.home = {};
root.home.relative = '';
console.log(root);

如果您正在使用Firebug,console.log将很好地打印您的对象层次结构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7150224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档