关于JavaScript问题

SpriteMap是模拟的类,SpriteMap.Sprite也是模拟类吗?他俩之间有继承关系吗?

clipboard.png

阅读 2.5k
3 个回答

类就类吧,要么就说构造函数也行……说模拟类总觉得怪怪的。

构造函数和普通函数一样,它作为什么使用还是看调用方式,普通调用就是普通函数,this 根据调用的前缀(对象,或者没有(表示 global))。如果加 new,一般就是生成对象。说“一般”是因为具体是不是返回生成的对象还跟函数内的 return 语法有关,无 return 返回新生成对象,有 returnreturn 语句处理。

大概就是这么个东西!

var obj1 = function() {
    this.objs = [];
    for (var i = 1; i <= 10; i++) {
        this.objs.push(new obj2())
    }
}

var obj2 = function() {

}

还有 你没发现你贴的代码里push的并不是SpriteMap.Sprite 而是 SpriteMap.Sprite_spr.... 这个类的实例么?!

sprite只是spriteMap的一个元素,尽量不要用类的思想来理解,用object的思想来理解

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题