Yes that link helped. Thanks. So my code will now look like following. This is a basic concept but always run away from closures. Today learnt! Thanks.
var a = {};
var myArray = ["abc", "xyz", "bbb"];
for (var i = 0; i < myArray.length: i++) {
var tempVar = myArray[i];
Object.defineProperty(this, tempVar, {
get: function (newTemp) {
return function(){
var ret = $.extend(true, {}, a[newTemp]);
return ret;
}
}(tempVar),
set: function (intObj) {
a[intObj.type] = intObj;
}
});
}