JsLoveR,
тебе не понятно почему player.object == null? если да то вот почему (построчно):
1) (F.prototype = Parent.prototype) прототип ф-и F это прототип ф-и Game, то есть
{
canvas : null,
play : function () {
alert("play");
}
}
2)(Child.prototype = new F()) прототип Child теперь тоже
{
canvas : null,
play : function () {
alert("play");
}
}
3) строка поправление конструктора
4) эта строка позволяет обращатся к родителю
Итог:
Player.prototype == {
canvas : null,
play : function () {
alert("play");
}
}
теперь строка
this.object = this.canvas;
устанавливает this.object значение null, ибо в прототипе
canvas : null
Вот и всё