как временный вариант просто объявил отдельной функцией.
function objectLength(object) {
var a = [];
for(var i in object){
a.push(i);
}
return a.length;
}
но вопрос всё равно интересен, можно скрыть созданный метод или нет, и как это правильно называется?