我对 Javascript 还是有点陌生,并且在我的代码中的很多地方都注意到我正在使用 JQuery 来获取对我的画布元素的引用,如下所示:
$('#myCanvas')[0].getContext('2d');
我怀疑它正在减慢我的网站速度,因为我在很多可能经常被调用的地方都有它。理想情况下,我只需执行一次并从任何 javascript 页面访问上下文。
我试图创建一个全局变量,但它没有工作(可能是因为它在页面加载之前运行)所以我把这个函数放在我第一个引用的 javascript 文件中的全局范围内:
var drawingCanvasContext;
function getDrawingCanvas() {
if (drawingCanvasContext == null) {
drawingCanvasContext = $('#myCanvas')[0].getContext('2d');
}
return drawingCanvasContext;
}
因此,每当我需要代码中的画布时,我都会调用该方法..但它看起来相当..混乱。我怀疑这是一个不常见的愿望,所以我很好奇正确的解决方案。我希望它只是一个变量而不是一个函数,并且可以在没有所有这些 null 检查的情况下全局访问。有谁知道如何做到这一点?谢谢。