首页 > 解决方案 > 这个具有未定义参数的函数如何能够运行?

问题描述

https://stackoverflow.com/a/44795246/3416774中,代码的实质是:

network.on("afterDrawing", function (ctx) {
    var dataURL = ctx.canvas.toDataURL();
    document.getElementById('canvasImg').src = dataURL;
});

它怎么能跑?ctx没有在任何地方定义。在Vis.js 的文档中,afterDrawing事件有这样的描述:

姓名 特性 描述
后画 画布上下文 在画布上绘制完成后触发。可用于在网络之上绘制。

标签: javascriptvis.js

解决方案


ctx是画布上下文的缩写。因此,当该方法on()完成时,它将返回画布上下文,以便该函数可以拾取。这是一个称为回调函数的概念。


推荐阅读