猿问

canvas遇到一个诡异的问题

HTML:

<canvas id="canvas" width="1000" height="900"></canvas>

JS:

var map = {    
      canvas: document.getElementById('canvas'),
    cxt: this.canvas.getContext('2d'),
}

如果将HTML和JS的canvasid改成canvas1或其他任何单词都会报错,Cannot read property 'getContext' of undefined


梵蒂冈之花
浏览 711回答 2
2回答

慕无忌1623718

你这代码比较吊,下面的这个对象var&nbsp;map&nbsp;=&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;canvas:&nbsp;document.getElementById('canvas'),&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;cxt:&nbsp;this.canvas.getContext('2d'), }this这个时候要么是window要么是undefined,居然不报错,这才让我感到震惊。你在当前作用域里面肯定有个名为canvas的变量吧?

DIEA

你这个this用的不对,只有在函数里面在有this
随时随地看视频慕课网APP

相关分类

Html5
我要回答