0

如何在命名空间中调用常规函数

$(document).ready(function() {
  Timeline.init();
  Timeline.highlight_arrow();
  Timeline.arrows();

});

Timeline.arrows = (function() {
    function display_arrows(pos) {
    }
}());

我想从 Timeline.arrows 内部调用 dislay_arrows 我试过 Timeline.arrows.display_arrows() 它是否需要是公共方法?

4

2 回答 2

0

您可能需要像这样实现它,

现场演示

$(document).ready(function() {
    function NS_TimeLine(){

        this.init = function(){
         alert("init");   
        }

        this.highlight_arrow = function(){
         alert("init");   
        }

    }                      

var TimeLine = new NS_TimeLine();
TimeLine.init();

});
​
于 2012-10-23T16:30:09.573 回答
0

如果我理解了您的问题,您只需将您的函数从立即执行的函数中传回:

Timeline.arrows = (function() {
    return function display_arrows(pos) {
        //'arrows' implementation here'
    }
}());

工作演示:jsBin

这样,您的 /result/(function() { /*...*/}())就是display_arrows函数,因此将arrows针对Timeline.

我假设你Timeline在使用它之前已经声明了一个对象。

于 2012-10-23T16:40:44.787 回答