Новая дата в контексте строки не работает в Firefox - PullRequest
1 голос
/ 23 марта 2012

Последний журнал в следующем коде не работает в Firefox. Почему?

(function() {

    String.prototype.toDate = function() {
        return new Date(this);
    };

    console.log(Date.parse("2012-01-31"));
    console.log(new Date("2012-01-31"));
    console.log("2012-01-31".toDate());

})();

Чтобы проверить это в браузере, я поместил приведенный выше фрагмент в файл и использовал следующий HTML.

<!DOCTYPE html>
<body>
    <script src="wtf.js"></script>
</body>

NodeJS (v0.4.12):

1327932000000
Mon, 30 Jan 2012 14:00:00 GMT 
Mon, 30 Jan 2012 14:00:00 GMT

Хром (17.0.963.79):

1327968000000
Tue Jan 31 2012 10:00:00 GMT+1000 (EST)
Tue Jan 31 2012 10:00:00 GMT+1000 (EST)

Firefox (10.0):

1327968000000
Date {Tue Jan 31 2012 10:00:00 GMT+1000 (EST)}
Date {Invalid Date}

1 Ответ

0 голосов
/ 23 марта 2012

this в Firefox String.prototype, по-видимому, не ссылается на строку, как на строку.Если вы добавите к своему методу:

String.prototype.toDate = function() {
        return new Date(String(this));
    };

, он будет работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...