繁体   English   中英

在JavaScript中从外部访问函数中的函数

[英]Accessing a function within a function from outside in javascript

我有一个嵌套函数,我想从外部调用。

var _Config = "";
var tourvar;
function runtour() {
    if (_Config.length != 0) {
        tourvar = $(function () {
            var config = _Config,
                autoplay = false,
                showtime,
                step = 0,
                total_steps = config.length;
            showControls();
            $('#activatetour').live('click', startTour);
            function startTour() {
            }
            function showTooltip() {
            }
        });
    }
}
function proceed() {
    tourvar.showTooltip();
}
$(document).ready(function () {
    runtour();
});

我希望通过tourvar.showTooltip()来调用它; 但是我似乎错了:)如何从函数外部使showTooltip()可用?

由于我以前的回答确实是一个热门的答案,因此我决定删除它,并为您提供另一个答案:

var _Config = "";
var tourvar;

// Module pattern
(function() {
    // private variables
    var _config, autoplay, showtime, step, total_steps; 

    var startTour = function() { };

    var showTooltip = function() { };

    // Tour object constructor
    function Tour(config) {
        _config = config;
        autoplay = false;
        step = 0;
        total_steps = _config.length;

        // Provide the user with the object methods
        this.startTour = startTour;
        this.showTooltip = showTooltip;
    }

    // now you create your tour
if (_Config.length != 0) {
        tourvar = new Tour(_Config);
    }
})();

function proceed() {
    tourvar.showTooltip();
}
$(document).ready(function () {
    runtour();    
});
function outerFunction() {
    window.mynestedfunction = function() {
    }
}
mynestedfunction();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM