javascript - 函数内的函数内的 JS 函数等等

标签 javascript function nested depth

好的,过去 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

如有任何帮助,我们将不胜感激。我必须学习和使用原型(prototype)吗?

最佳答案

首先,这是你如何做的:

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();但这显然是丑陋的,而不是你想要的。

关于javascript - 函数内的函数内的 JS 函数等等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450191/

相关文章:

javascript - 如何使零数值算作真值?

c# - 如何在 AJAX 回调(回发)期间生成 JavaScript,然后在浏览器上执行它?

jQuery - 按窗口高度比例缩放多个 div 的函数

r - 简单的嵌套函数和 dplyr tidyeval

python - 为什么这个简单的递归树遍历算法会失败?

javascript - 无法拖动/缩放/与 Google map 交互

javascript - redux 存储的最大内存大小是多少?

python - 使用类时 python 中未定义错误

c++ - 在 C++ 的函数模板中使用重载的 operator+

r - 查找字符串 R 代码中嵌套括号的最大深度