0

有人可以看看这段代码并告诉我为什么我得到未定义的画布元素吗?或者为什么我不能使用这种语法?

var Canvas = {

   element : document.getElementById("canvas"),
   context : Canvas.element.getContext("2d"), // Uncaught TypeError: Cannot read property 'element' of undefined 
}
4

1 回答 1

2

您不能以这种方式声明它。你能做的最好的事情是:

var Canvas = {
   element: document.getElementById("canvas"),
   context: document.getElementById("canvas").getContext("2d")
}

如果您Canvas是一个函数并且您将元素存储在 中this,那么您可以通过以下方式访问它this.element

var Canvas = function (id) {
    this.element = document.getElementById(id);
    this.context = this.element.getContext('2d');
}
于 2013-02-01T12:54:12.870 回答