Обход методов объекта Как?
Запутался, заклинило ... Выручайте :)
Есть объект: var object={ properties:{ rootElement:"root", flags:{} }, flags:{ set:function(){ }, test1:function(){ console.log("test1"); }, test2:function(){ console.log("test2"); }, test3:function(){ console.log("test3"); }, test4:function(){ console.log("test4"); } } } Нужно сделать вот что: автоматически обойти\исполнить все методы объекта object.flags за исключением метода set в котором и будет функция обхода всего объекта. Запутался в двух соснах ... Помогите |
for (var key in object.flags ) { var property = object.flags[key]; if (typeof property == 'function' && key != 'set') { property(); } } |
Разобрался ...
flags:{ set:function(){ for(var method in this){ if(this.hasOwnProperty(method)&&method!=='set'){ this[method](); } } }, test0:function(){ console.log("test0"); }, test1:function(){ console.log("test1"); }, test2:function(){ console.log("test2"); }, test3:function(){ console.log("test3"); }, test4:function(){ console.log("test4"); } }, |
Не могу добавить плюсик ..., сайт ругается. Благодарю за помощь :)
|
А какое решение более быстрое?
|
Дык у меня просто идет еще проверка на то что свойство есть функция, а также предполагается что никто не засрал прототип объекта итерируемыми свойствами.
|
Часовой пояс GMT +3, время: 05:08. |