I am aware of how to create getters and setters for properties whose names one already knows, by doing something like this:
// A trivial example: function My
var x={} var propName = 'value' var get = Function("return this['" + propName + "']") var set = Function("newValue", "this['" + propName + "'] = newValue") var handler = { 'get': get, 'set': set, enumerable: true, configurable: true } Object.defineProperty(x, propName, handler)
this works for me