Обход методов объекта Как?
Запутался, заклинило ... Выручайте :)
Есть объект:
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, время: 01:03. |