canvasのwidthとheightの取得

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

document.getElementById('canvas').width

だと結果は「300」デフォルト。

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

#canvas {
   	width:500px;
	height:500px;
}

document.getElementById('canvas').width

だと結果は「300」デフォルト。

document.getElementById('canvas').style.width

だと空。

<canvas id="canvas" style="width:500px;height:500px;"></canvas>

document.getElementById('canvas').width

だと結果は「300」デフォルト。

document.getElementById('canvas').style.width

だと結果は「500」

<canvas id="canvas" width="500" height="500"></canvas>

document.getElementById('canvas').width

だと結果は「500」

document.getElementById('canvas').style.width

だと結果は空


ん?