можно ли во время выполнения решить, какие свойства объекта JS следует перечислить?
Что-то вроде
myobj = {};
myobj.keys = function() { // I made this keys function up. Is there something like that in JS?
if ((new Date).getSeconds() < 30)
return [1,2,3];
else
return [4,5,6];
}
for(p in myobj)
console.log(p); // returns either 1,2,3 or 4,5,6
Кроме того, можно ли вызвать функцию, если свойство объектане существует?Что-то вроде
myobj.fallbackFunction = function(arg) { return arg; };
console.log( myobj['nonexisting-property'] ); // returns the string 'nonexisting-property'
И мой последний вопрос: возможно ли вызвать объект как функцию?Например,
myobj.call = function(arg) { console.log(arg) };
myobj(123) // returns 123`
Извините, я посмотрел QScriptEngine в Qt, где вы можете делать подобные вещи, но я не знаю, как реализовать это в нативном JS ...
Ура, Мануэль