1

好的,在过去的 3 个小时里,我一直在努力寻找解决方案……

我希望能够创建自己的库、函数内可访问的函数等。

这就是我想做的...

var outer=function()
{
    this.inner=function()
    {
        this.innermost=function()
        {
        alert("innermost");
        }
    }   
}
var outer=new outer;

function start()
{   
//I want to call it like this but fails!
outer.inner.innermost();    
}

现在,当我尝试调用最里面时,这会失败。但如果我只是在一个函数中有一个函数,它就可以工作。例如:

var outer=function()
{
    this.inner=function()
    {
    alert("inner");
    }   
}
var outer=new outer; 

function start()
{   
// this works
outer.inner();  
}

我发现的所有示例都只显示了函数中的函数。

我希望能够创建自己的函数库。通过一种简单的方式访问它们,例如:

MyLib.SubLib.SubLib2.function
MyLib.SubLib.SubLib2.property

任何有关此事的帮助将不胜感激。我必须学习和使用原型吗?

4

1 回答 1

3

首先,这是你如何做到的:

var outer = function() {
    this.inner = {
        innermost: function() {
            alert("innermost");
        }
    }
}
var outer = new outer;
outer.inner.innermost();

它没有按照您的方式工作的原因是因为您定义了一个函数inner-一个函数outer.inner也是如此。你可以做var inner = new (outer.inner)();然后打电话inner.innermost();,但这显然是丑陋的,而不是你想要的。

于 2013-01-22T01:34:47.723 回答