有人可以帮我扭转这种逻辑吗?
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {}
我希望声明如下: 如果用户代理不是iPhone或不是iPod
现在我只是将第一个IF留空并使用ELSE,但我知道必须有更好的解决方案。
是否与.match相反?
谢谢!
答案 0 :(得分:4)
只是为了咯咯笑,我会补充说,由于De Morgan's Law的属性,有两种方法可以做到这一点。
首先,意思是“如果它不是iPhone而且它不是iPod”(如另一个答案中所述):
if((!navigator.userAgent.match(/iPhone/i)) && (!navigator.userAgent.match(/iPod/i))) {
// Do something
}
第二,意思是“如果它不是iPhone或iPod”,这只是对当前整个陈述的逻辑否定:
if(!(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))) {
// Do something
}
答案 1 :(得分:3)
if((!navigator.userAgent.match(/iPhone/i)) && (!navigator.userAgent.match(/iPod/i))) {}
答案 2 :(得分:0)
在此处使用此行:
var isiOS = navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)/i) != null ? true : false;