我在网站上使用JavaScript getter,该网站经过优化可在iPad上运行。一切运行正常,但在更新到iOS 5后,该网站停止了工作。
最终我发现了问题所在。
我有一个配置对象,它包含以下结构的只读属性(这就是我使用getter的原因):
var Config = (function() {
var DateFormat = "dd/MM/yyyy";
return {
get DateFormat() { return DateFormat; }
};
}());
出于某种原因,iOS 5中的JavaScript引擎不喜欢getter(DateFormat)的名称与私有变量的名称相同。如果我将其重命名为_DateFormat,它可以工作:
var Config = (function() {
var _DateFormat = "dd/MM/yyyy";
return {
get DateFormat() { return _DateFormat; }
};
}());
我的问题是:它应该如何工作,还是JavaScript引擎中的错误?
答案 0 :(得分:0)
如果您正在使用JQuery或其他JS库,则可能会以某种方式调用dateFormat函数。
这是一个示例,其中有一个名为dateFormat的JQuery函数: