Показать сообщение отдельно
  #1 (permalink)  
Старый 04.09.2008, 18:39
Интересующийся
Отправить личное сообщение для Autosof Посмотреть профиль Найти все сообщения от Autosof
 
Регистрация: 23.08.2008
Сообщений: 20

Непонятное поведение javascript
Вопрос к знатокам.

Не могу понять, что крамольного обнаруживает javascript в определении следующей функции:

date_to_string = function (value) {

    return
    '0'.concat(value.getDate()).slice(-2).
    concat('.').
    concat('0'.concat(value.getDay() + 1).slice(-2)).
    concat('.').
    concat(value.getFullYear()).
    concat(' ').
    concat('0'.concat(value.getHours()).slice(-2)).
    concat(':').
    concat('0'.concat(value.getMinutes()).slice(-2)).
    concat(':').
    concat('0'.concat(value.getSeconds()).slice(-2))
}

alert(date_to_string(new Date()))


Обращаясь к ней получаем результат – "undefined"

И абсолютно та же функция, но с использованием промежуточной переменной:

date_to_string = function (value) {

    var str =
    '0'.concat(value.getDate()).slice(-2).
    concat('.').
    concat('0'.concat(value.getDay() + 1).slice(-2)).
    concat('.').
    concat(value.getFullYear()).
    concat(' ').
    concat('0'.concat(value.getHours()).slice(-2)).
    concat(':').
    concat('0'.concat(value.getMinutes()).slice(-2)).
    concat(':').
    concat('0'.concat(value.getSeconds()).slice(-2))

    return str
}

alert(date_to_string(new Date()))


Результат обращения к ней – скажем "04.05.2008 17:31:00".
Тоесть то, что и ожидалось от её работы.

Хотелось бы знать – что не нравиться javascript в первом варианте?!
Ответить с цитированием