好的,我在过去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
对此事的任何帮助将不胜感激。我是否需要学习和使用原型?
答案 0 :(得分: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();
,但这显然是丑陋而不是您想要的。