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

标签 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");

它正在努力改变源。

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

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

最佳答案

如果您希望能够从定义该函数的外部调用重绘函数,则需要从该函数返回它,就像使用 init 所做的那样:

var drawing = (function () {

    .
    .
    .
    .

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

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

相关文章:

javascript - 如何在 JQuery 中访问 Angular 6 变量

html - 无法让 CSS 省略号工作

带有通配符选择的 HTML5 自定义数据属性的 jQuery 选择器

html - 显示悬停在溢出隐藏父级内的缩放效果

Swift:如何调用调用随机函数的函数?

function - 在 Go 中是否可以调用带有命名参数的函数?

javascript - 使用 JavaScript 中的自定义请求 header 导航到 URL

javascript - dagre-d3- 使长文本适合节点内部

javascript - SMIL 动画在动态加载的外部 SVG 上失败

function - Mathematica中的TunkRank