Задать вопрос
@bobs32

Почему не работает свойство в связке с методом?

имеется код :
var date = dateTransform('2017-05-16 13:45').add(24, 'hours');
console.log(date.valuez);

function dateTransform (newDate) {

var dateT = newDate.split(' ');
var dateArr = dateT[0].split('-');
var timeArr = dateT[1].split(':');
var yyyy = parseInt(dateArr[0]);
var mm = parseInt(dateArr[1]);
var dd = parseInt(dateArr[2]);
var h = parseInt(timeArr[0]) + 3;
var m = parseInt(timeArr[1]);
var s = 0;
var newDate = new Date(yyyy, mm, dd, h, m, s);


if (typeof newDate == 'object') {

Object.defineProperty(newDate, 'valuez', { 
    get: function() {
        
        
        year = newDate.getFullYear();
        console.info(year);
        month = newDate.getMonth();
        if (newDate.getMonth() < 10) {
            month = '0' + newDate.getMonth();
        }
        day = newDate.getDate();
        if (newDate.getDate() < 10) {
            day = '0' + newDate.getDate();
        }
        hour = newDate.getHours();
        if (newDate.getHours() < 10) {
            hour = '0' + newDate.getHours();
        }
        minute = newDate.getMinutes();
        if (newDate.getMinutes() < 10) {
            minute = '0' + newDate.getMinutes();
        }
        return year + '-' + month + '-' + day + ' ' + hour + ':' + minute;
    }
});

}

return {

    add: function(val, command) {


        if (command == 'hours') {
            this.value = new Date(newDate.setHours(newDate.getHours() + val));
            return this.value;
        }
    },

}

};


сначала вызывается метод add, потом свойство valuez для приведения даты в вид 2017-05-16 16:45.
но консоль возвращает undefined. Если не использовать метод, а только свойство, то все работает хорошо. В чем может быть проблема?
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы