iOS 5中的JavaScript getter问题

iOS 5中的JavaScript getter问题,javascript,ios5,Javascript,Ios5,我在一个网站上使用JavaScript getter,该网站经过优化,可以在iPad上运行。一切正常,但升级到iOS 5后,网站停止工作 最终我发现了问题所在 我有一个包含只读属性的配置对象,这就是我使用具有以下结构的getter的原因: var Config = (function() { var DateFormat = "dd/MM/yyyy"; return { get DateFormat() { return DateFormat; } };

我在一个网站上使用JavaScript getter,该网站经过优化,可以在iPad上运行。一切正常,但升级到iOS 5后,网站停止工作

最终我发现了问题所在

我有一个包含只读属性的配置对象,这就是我使用具有以下结构的getter的原因:

var Config = (function() {

    var DateFormat = "dd/MM/yyyy";

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

}());
出于某种原因,ios5中的JavaScript引擎不喜欢getterdateformat的名称与私有变量的名称相同。如果我将其重命名为_DateFormat,它将工作:

var Config = (function() {

    var _DateFormat = "dd/MM/yyyy";

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

}());

我的问题是:它应该是这样工作的,还是JavaScript引擎中的一个bug?

如果您使用JQuery或其他JS库,可能会以某种方式调用dateFormat函数

下面是一个示例,其中JQuery有一个名为dateFormat的函数:


我认为这与此无关,因为我的DateFormat getter与jQuery或其他JS库无关。即使库或另一个JS文件中包含一个名为“dateFormat”的函数,我的getter也是名称空间的Config.dateFormat,因此这里不可能存在命名问题。