FINoM,
плохой вариант, я пробовал.. в нем есть недостаток.. попробуй сделать так:
comment = document.createComment("");
document.documentElement.firstChild.appendChild(comment);
comment.onpropertychange = function () { alert() }
function Data() {
return { a:4 }
}
Data.prototype = comment
data = new Data
data.x = 5 // алерт
data.y = 5 // херов а не алерт :(
for (var i in data )console.log( i, data[i] )