我正在学习JS中的OOP。
首先,这是代码:
this.device = {
init: function(){
this.isiOS7 = (this._isiOS7()) ? true : false;
},
_isiOS7 : function(){
return (navigator.userAgent.match(/(iPad|iPhone);.*CPU.*OS 7_\d/i)) ? true : false;
},
isiOS7 : null
}
如您所见,我定义了一个名为isiOS7的属性和一个函数_isiOS7。这背后的主要思想是:每当我需要知道操作系统是否是iOS7时,我都会访问属性(isiOS7),该属性是真还是假。如果我一遍又一遍地使用函数(_isiOS7),JS引擎计算这些语句(如果/ regex / match)需要的时间比简单属性/ var要长。所以我的问题是:这是真的吗?
谢谢!
答案 0 :(得分:1)
在这种情况下,您只是尝试获取窗口导航器。因此,最好先运行一次init并使用属性的访问器。
虽然这应该经常被调用,但这并不重要。