iOS 5中的JavaScript getter问题
我在一个网站上使用JavaScript getter,该网站经过优化,可以在iPad上运行。一切正常,但升级到iOS 5后,网站停止工作 最终我发现了问题所在 我有一个包含只读属性的配置对象,这就是我使用具有以下结构的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; } };
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,因此这里不可能存在命名问题。