我正在处理包含JavaScript的HTML文件。

这是JavaScript代码:

var dImage = new Image();

var drawing = (function () {

    .
    .
    .
    .

    redrawing = function () {
        context.drawImage(dImage, dX, dY, dWidth, dHeight);
    },

    init = function () {
        dImage.src = "images/d.png";
        redrawing();
    };

    return {
        init: init
    };

}());

function updateImage(dSrc){
    dImage.src = dSrc;
    // Call redrawing here
}

在HTML中,我称
drawing.init();

而且工作正常。我也可以通过调用更改图像源
updateImage("images/d2.png");

它正在为更改源而努力。

但是我需要在redrawing()方法中调用updateImage()来刷新图像。

我尝试以多种方式调用它(例如drawing.redrawing();),但是redrawing()没有响应。

最佳答案

如果您想从定义的函数外部调用redrawing函数,则需要从该函数返回它,就像对init所做的一样:

var drawing = (function () {

    .
    .
    .
    .

    return {
        init: init,
        redrawing: redrawing
    };
}());

关于javascript - 如何从其父函数外部调用嵌套函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14030868/

10-09 16:42