在Javascript中通过ID获取元素的效率?

时间:2012-06-04 03:56:41

标签: javascript jquery html performance canvas

我注意到我在代码中的许多不同位置重复了这行代码:

var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");

首先,我想知道这对性能的影响。例如,在我经常重写的代码 very 中,我这样做了。同样,我可以使用JQuery来获取元素的引用。

我想知道这是多么大的交易。我不确定如何正确地描述网站。我想以某种方式创建一个对上下文的全局引用,但是当我尝试在全局范围内执行它时它不会运行。是否有一个懒惰返回画布引用的函数的唯一方法是什么?

1 个答案:

答案 0 :(得分:4)

立即停止在绘图代码中执行此操作。在绘图代码中停止做类似的事情。

在某处保存上下文并将上下文传递给您的绘图代码(如this five cent example I just made中所示)。

“触摸”DOM很慢。 Slooow。任何你切片的方式。做到尽可能少。 Zakas在High Performance JavaScript中深入讨论了这个主题。

如果您关注JavaScript性能,那么您一定要看一下这个标题。