Как насчет того, чтобы сделать что-то вроде этого:
function Test () {
this.data = 'hello';
this.set = function (data)
{
test.data = data;
}
this.log = function ()
{
console.log(test.data);
}
}
var test = new Test ();
test.set('Test');
test.log();
Это дает вам преимущество в том, что вы можете легко создавать новые экземпляры.
Если вы просто хотите разовый, я быскажи, что твое собственное предложение - почти то, что ты хочешь:
var test = {
log: function ()
{
console.log(test.data);
},
data: 'hello',
set: function (data)
{
test.data = data;
}
};
test.set('Test');
test.log();
Но, возможно, твой вопрос заключался в том, как избежать ".log"?