2017-07-27 2 views
1

HTML(宣言されたオブジェクトに)定義されていませんはTypeError:コンソールでthis.canvasが

<canvas id="ctx"></canvas> 

はJavaScript

var objMap = { 
htmlID: 'ctx', 
canvas: document.getElementById(this.htmlID), 
ctx: this.canvas.getContext('2d')}; 

は、エラーが表示されます。 "TypeError:this.canvasが定義されていません" 私は実際にオブジェクトの変数にこれを入れたいと思っています。

答えて

1

いいえあなたは直接オブジェクトではできません。しかし、無名関数を使用すると、オブジェクトを構築することができます。

var objMap = new function() { 
this.htmlID= 'ctx'; 
this.canvas= document.getElementById(this.htmlID); 
this.ctx= this.canvas.getContext('2d'); 
}; 
+0

私はこのようなことをしても同じですか?関数のMap(){this.htmlID = 'ctx'; this.canvas = document.getElementById(this.htmlID); this.ctx = this.canvas.getContext( '2d');} var objMap = new Map(); – Steve143

+1

はいそれは...... –

+0

ありがとうございます! – Steve143