如何从其父函数外部调用嵌套函数?

时间:2012-12-25 13:02:08

标签: javascript html function

我正在处理一个包含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()没有响应。

2 个答案:

答案 0 :(得分:4)

如果您希望能够从其定义的函数外部调用redrawing函数,则需要从该函数返回它,就像您使用init一样:< / p>

var drawing = (function () {

    .
    .
    .
    .

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

答案 1 :(得分:1)

公开redrawing

return {
    init: init,
    redrawing: redrawing
};