Я использую средства получения 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?