两者之间有什么区别,为什么您要一个又一个地使用?
MYUtils.isIOS = (function(){
return navigator.userAgent.match(/(iPad|iPhone|iPod)/g);
}());
var ios = MYUtils.isIOS;
与
MYUtils.isIOS = function(){
return navigator.userAgent.match(/(iPad|iPhone|iPod)/g);
};
var ios = MYUtils.isIOS();
最佳答案
在此示例中,没有充分的理由使用一个在另一个之上。
第一个示例运行并设置值。从那时起,该值不变。
在第二个示例中,每次调用isIOS()
时,您都在运行内部函数。 navigator.userAgent
在页面生命中的某个时刻不会改变,因此结果不会改变。
但是,如果您正在寻找可以更改的值,例如检查是否设置了某个HTML复选框,或者在localStorage
中查找设置的值,则第二种方法更好,因为您允许更改环境。