新人问下cc.Class()中的this问题

使用 ctor 声明构造函数:

var Sprite = cc.Class({
ctor: function () {
cc.log(this instanceof Sprite); // true
}
});

为什么上面代码this instanceof Sprite是true,这里的this绑定到哪个对象上了?

this 的指向应该就是你声明的 Sprite 实例化后的对象。
可以试一试:
var Sprite = cc.Class({
ctor: function () {
Sprite.instance1 = this;
}
});

Sprite.instance2 = new Sprite();
这两个正常是指向同一个对象

var Sprite = cc.Class({
ctor: function () {
Sprite.instance1 = this
}
});

Sprite.instance2 = new Sprite();
alert( Sprite.instance1==Sprite.instance2 )
最后输出了true.我大致明白你说的了。
想再问个问题,官方文档说使用只要在组件方法里访问 this.node 变量:
start: function () {
var node = this.node;
node.x = 100;
}
想问下上面的函数是否在cc.Class({ })内?这里cc.Class究竟是谁调用的,因为一般情况下this应该会绑定到调用它的对象上,我想知道这个对象是什么?是添加该脚本的节点吗?

看源码是预先声明定义了一些方法,如果你在类里定义了,会直接调你的方法。至于其他的我也在摸索,刚开始用,边学边写,整个的调用流程还不是很清晰。