Проблема с JavaScript getter в iOS 5 - PullRequest
0 голосов
/ 20 октября 2011

Я использую средства получения JavaScript на веб-сайте, оптимизированном для работы на iPad. Все работало нормально, но после обновления до iOS 5 сайт перестал работать.

В конце концов я обнаружил, в чем проблема.

У меня есть объект конфигурации, который содержит свойства только для чтения (поэтому я использовал геттеры) со следующей структурой:

var Config = (function() {

    var DateFormat = "dd/MM/yyyy";

    return {
       get DateFormat() { return DateFormat; }
    };

}());

По какой-то причине движку JavaScript в iOS 5 не нравится, что имя получателя (DateFormat) совпадает с именем закрытой переменной. Если я переименую его в _DateFormat, он будет работать:

var Config = (function() {

    var _DateFormat = "dd/MM/yyyy";

    return {
       get DateFormat() { return _DateFormat; }
    };

}());

У меня вопрос: так ли это должно работать или это ошибка в движке JavaScript?

1 Ответ

0 голосов
/ 22 октября 2011

Возможно, что если вы используете JQuery или другую библиотеку JS, вы как-то вызываете функцию dateFormat.

Вот пример, где есть функция для JQuery с именем dateFormat:

http://blog.stevenlevithan.com/archives/date-time-format

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