+1 для разделения. Я просто приехал на проект, где некоторые классы находятся в файлах с другим именем, или смешаны в с другим классом, и невозможно найти их быстрым и эффективным способом. Можно бросить больше ресурсов в сборку - Вы не можете составить потерянное время программиста, потому что он не может найти, что правильный файл редактирует.
Используйте оператор typeof
:
if (typeof model[property] == 'function') ...
Также обратите внимание, что вы должны быть уверены, что свойства, которые вы перебираете, являются частью этого объекта, а не наследуется как публичное свойство на прототипе какого-то другого объекта в цепочке наследования:
for (var property in model){
if (!model.hasOwnProperty(property)) continue;
...
}
Думаю, вам может быть полезно следующее.
Как я могу проверить, является ли переменная javascript типом функции?
Кстати, я использую следующее для проверки функции.
// Test data
var f1 = function () { alert("test"); }
var o1 = { Name: "Object_1" };
F_est = function () { };
var o2 = new F_est();
// Results
alert(f1 instanceof Function); // true
alert(o1 instanceof Function); // false
alert(o2 instanceof Function); // false