誰かがこのコードを見て、キャンバス要素が未定義になる理由を教えてください。または、なぜこの種の構文を使用できないのですか?
var Canvas = {
element : document.getElementById("canvas"),
context : Canvas.element.getContext("2d"), // Uncaught TypeError: Cannot read property 'element' of undefined
}
誰かがこのコードを見て、キャンバス要素が未定義になる理由を教えてください。または、なぜこの種の構文を使用できないのですか?
var Canvas = {
element : document.getElementById("canvas"),
context : Canvas.element.getContext("2d"), // Uncaught TypeError: Cannot read property 'element' of undefined
}
このように宣言することはできません。あなたができる最善のことは次のとおりです。
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');
}