Показать сообщение отдельно
  #2 (permalink)  
Старый 08.03.2016, 14:19
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

DivMan,
ну в schedule есть некоторые унаследованные методы, которые однако неперечислимы, а цикл for..in перебирает только все перечисляемые свойства объекта и его цепочки прототипов. Чтобы увидеть все неперечисляемые поля надо использовать Object.getOwnPropertyNames.
function isEmpty(obj) {
            var result = [];
            for (objectToInspect = obj; objectToInspect !== null; objectToInspect = Object.getPrototypeOf(objectToInspect)) {
                result = result.concat(Object.getOwnPropertyNames(objectToInspect));
            }
            //alert(result) //здесь все методы 
            if (result)
                return "есть";
            else return "нету";
        }

        var schedule = {};

        alert(isEmpty(schedule));

        schedule["8:30"] = "подъём";

        alert(isEmpty(schedule));
Ответить с цитированием