0
是否可以在运行时决定枚举JS对象的哪些属性?动态修改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`
对不起,我看了一下Qt的复制代码QScriptEngine哪里可以做类似的东西,但我不知道如何在本地JS实现这个...
干杯, 曼努埃尔