Потому что _onMouseClick не содержит current number shape, type shape. Это же функция события, и this в данном случае будет указывать на объект обработчика событий (ну или как-то так, поправьте меня если я не прав). В качестве решения я бы попробовал:
var Shape =
{
_this: this,
...
_onMouseClick: function(e)
{
console.log('_onMouseClick');
console.log('current number shape: ' + _this._id);
console.log('type shape: ' + _this._type);
},
}
Хотя по сути должно работать и так:
_onMouseClick: function(e)
{
console.log('_onMouseClick');
console.log('current number shape: ' + _id);
console.log('type shape: ' + _type);
}
P.S.: я не уверен в своих познаниях js, поэтому было бы хорошо если бы кто-то подтвердил или опроверг мой ответ)