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實現這個...
乾杯, 曼努埃爾