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 に答える