大家好,老师在修改draw方法的时候,根据果实的颜色类型不同绘制不同果实的时候,有个问题困扰了我很久,求高人指点迷津,如下图:

来源:2-6 果实绘制(果实数量控制)

java家洼

2016-06-23 22:04

http://img.mukewang.com/576bec3400010e1f12520815.jpg

在JavaScript里真的随便用局部变量吗?

写回答 关注

2回答

  • qq_上好佳_0
    2016-06-24 00:40:46
    已采纳

    这是变量提升吧,相当于

    fruitObj.prototype.draw = function(){

    var pic;

    for(var i=0;i<this.num;i++)

    {     ...

         ctx2.drawImage(pic,this.x[i]*this.l[i]*0.5,this.y[i]-this.l[i]*0.5,this.l[i],this.l[i]);

        ...

    }

    }

    drawImage在fruitObj.prototype.draw的内部,可以访问到fruitObj.prototype.draw的局部变量,所以就可以访问到pic

         

    java家洼

    你说的点子上了,变量提升,谢谢

    2016-06-24 06:28:31

    共 1 条回复 >

  • java家洼
    2016-06-24 06:34:43

    因为JavaScript是函数级作用域(function-level scope)

    if语句,并不会创建一个新的作用域。只有函数才会创建新的作用域。
    详细解读:http://www.jb51.net/article/30719.htm

HTML5小游戏---爱心鱼(上)

学做HTML5游戏,轻轻松松带你上手,适合刚入手游戏开发的同学

92348 学习 · 551 问题

查看课程

相似问题