Defines object properties evaluated and cached on the first read.
var obj = {};
lade(obj, 'lazy', function() { return 40 + 2 });
obj.lazy; // 42 (calls function, returns result as property value)
obj.lazy; // 42 (uses cached property value from now on)
obj.lazy = 0; // overwrite property value
obj.lazy; // 0
var obj = {};
lade(obj, 'prop', 'yes');
obj.prop; // 'yes'
obj.prop = 'no'; // overwrite property value
obj.prop; // 'no'