Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If语句在JavaScript中不起作用_Javascript - Fatal编程技术网

If语句在JavaScript中不起作用

If语句在JavaScript中不起作用,javascript,Javascript,我说我已经解决了我在前一篇文章中遇到的问题,但事实证明我没有。我的网站,使用一些JavaScript代码来更改页面CSS,只有在使用iOS的情况下。但是,代码的if(){}部分似乎不起作用。我尝试了多种变体,包括使用双等于、使用“真”、“真”、“真”和“真”作为iOSDevice应该等于的值,以及将$放在iOSDevice前面。以下是我当前的JS代码: var _iOSDevice = !!navigator.platform.match(/iPhone|iPod|iPad/); if (_i

我说我已经解决了我在前一篇文章中遇到的问题,但事实证明我没有。我的网站,使用一些JavaScript代码来更改页面CSS,只有在使用iOS的情况下。但是,代码的
if(){}
部分似乎不起作用。我尝试了多种变体,包括使用双等于、使用“真”、“真”、“真”和“真”作为iOSDevice应该等于的值,以及将$放在iOSDevice前面。以下是我当前的JS代码:

var _iOSDevice = !!navigator.platform.match(/iPhone|iPod|iPad/);

if (_iOSDevice === "true") {
    document.html.style.height = "400%";
    document.html.style.overflow = "hidden";
    document.maincode.style.min-height = "calc(1000% + 50px)";
}

如何修复它以使其正常工作?

if(\u iosdevision==TRUE)
替换为
if(\u iosdevision)
true
应该小写,而且在您的情况下,它是不必要的

我认为您在以下内容中遗漏了单引号或双引号:

var _iOSDevice = !!navigator.platform.match(/iPhone|iPod|iPad/);

if(_iOSDevice) {
    document.html.style.height = "400%";
    document.html.style.overflow = "hidden";
    document.maincode.style.min-height = "calc(1000% + 50px)";
}
var _IOSDevice = !!navigator.platform.match('/Phone|iPod|iPad/');
如果找到匹配项,test()方法将返回true,否则将返回false。因此,在本例中,我们检查navigator.userAgent是否与iPad、iPhone或iPod匹配

var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
if (isIOS) {
  document.html.style.height = "400%";
  document.html.style.overflow = "hidden";
  document.maincode.style.min-height = "calc(1000% + 50px)";
} else {
  console.log('This is Not a IOS device');
}

.match()
将返回一个值,因此
\iOSDevice
将始终为
true
。考虑使用ItStuaDIT应该肯定是<代码>((i iOsStuts===true)< <代码> >上面^ ^ @ @ Goto1!!!将该值设置为布尔值-因此针对“true”进行测试是完全多余的。比如说if(true==true)或if(false==true)-这是毫无意义的,因为该值已经是布尔值。更正我上面的语句:
.match()
可以在没有找到匹配项的情况下返回null,所以将
true
更改为
true
。但是我仍然认为使用
.test()
比使用
.match()
更好/更容易this@NickParsons !! 使该值成为布尔值-!!空=假这个答案是错误的用于值和类型比较,如果删除该
并放置一个
if(_iOSDevice)。长度>0
答案将是正确的,最后一行的减法运算符没有做您认为它做的事情。这读起来更像是一个发现差异的游戏,而不是一个答案。虽然此代码可以解决OP的问题,最好包括关于代码如何解决OP问题的解释。通过这种方式,未来的访问者可以从您的帖子中学习,并将其应用到自己的代码中。因此,它不是一种编码服务,而是一种知识资源。此外,高质量、完整的答案更有可能被提升。这些特性,以及所有帖子都是独立的要求,是SO作为一个平台的一些优势,使其区别于论坛。您可以编辑以添加其他信息和/或使用源文档补充说明。在JavaScript中,
/
语法用于正则表达式,因此不需要引号,您可以阅读更多内容