未知变量显示为未定义

Unknown variable shows as undefined

我正尝试在使用移动设备时进行一些 css 更改,但未知变量显示为未定义。

我搜索了大量教程并找到了许多不同的解决方案,但我是 javascript 和 html 的初学者,并不完全理解它们。我正在使用 chrome 并更改用户代理以查看移动设备上发生的情况。

<!DOCTYPE html>
<html>
    <body>

        <p id="demo">Show</p>

        <div id="device"></div>
        <script type="text/javascript">

            var innerHTML="";

            testExp = new RegExp('Android|webOS|iPhone|iPad|' +
                               'BlackBerry|Windows Phone|'  +
                               'Opera Mini|IEMobile|Mobile' , 
                              'i');

              if (testExp.test(navigator.userAgent))
                   document.getElementById("device").innerHTML =
                        show();
              else
                   document.getElementById("device").innerHTML = 
                        hide();

            function show() {
              document.getElementById("demo").style.display = "none";
            }

            function hide() {
              document.getElementById("demo").style.visibility = "visible";
            }


        </script>

        <p>End</p>

    </body>
</html>

在桌面上应该显示:

Show
End

但是显示:

Show
undefined
End

在手机上 'show' 消失了。但是 undefined 没有。

问题来自这一行:document.getElementById("device").innerHTML = hide(); hide 函数没有 return,所以如果你使用它 return 的数据,因为它 return 什么都没有,它会将 undefined 放在 [=13] 中=]元素.

感谢您的帮助我是一个初学者所以感谢您的支持。由于我不明白的原因,我不得不在 return 中放入一些东西才能完成功能

我上面的措辞可能不正确,请随时澄清