两者之间有什么区别,为什么您要一个又一个地使用?

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中查找设置的值,则第二种方法更好,因为您允许更改环境。

10-08 20:07