对象可以有2个值吗?

时间:2017-10-30 13:42:32

标签: javascript oop object

我正在尝试创建一个包含父对象和子对象的对象。我需要能够访问父对象及其子对象。

最好在访问变量时我希望的语法如下;

obj.Parent.Child.Click();

obj.Parent.Click();

我创建了一个对象,但我不能试图让父对象可以访问并让它有子代。

this.Menu = {
  Parent: "abc",
  Parent.Children: { }
}

但显然这不起作用。也许我可以创建某种Item类或对象?请帮助:)

编辑:

好的,让我试着说清楚一点。菜单中的每个对象必须等于另一个对象。此对象具有自定义函数列表。函数如* .Hover(),*。Click(),*。ClickItem("");等

我正在尝试创建一个易于访问的对象。

例如:https://www.w3schools.com/howto/howto_css_dropdown.asp

在该网页上,用户可以将鼠标悬停在该项目上,并显示3个子项目。

如果我想创建一个Clicks" Link 1"在那个菜单中,我会先创建菜单对象,就像这样;

var Menu {
  HoverMe: {
    Link1: page.panel.menuHoverMe_Link1, // This is a custom object, don't worry
    Link2: page.panel.menuHoverMe_Link2,
    Link3: page.panel.menuHoverMe_Link3
  }
}

// I want to click Link1, but I need to hover over hoverme before i can click link1
function foo() {
   Menu.HoverMe.Hover(); //this won't work because HoverMe = another json object filled with child objs.
  Menu.HoverMe.Link1.Click();
}

1 个答案:

答案 0 :(得分:0)

这样的东西?

this.Menu = {
    Parent: {
        Children: {
            click: function(){
                alert('from chidren');
            }
        },
        click: function(){
            alert('from parent');
        }
    } 
};

this.Menu.Parent.click();
this.Menu.Parent.Children.click();