未知变量显示为未定义

时间:2019-05-12 09:25:35

标签: javascript html variables undefined

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

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

implementation 'com.google.android.libraries.places:places:1.1.0'

在桌面上它应该显示:

<!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

在移动设备上,“节目”消失了。但是未定义的不是。

2 个答案:

答案 0 :(得分:1)

问题来自此行:document.getElementById("device").innerHTML = hide(); hide函数没有返回值,因此,如果使用它返回的数据,因为它不返回任何内容,因此会将undefined放在#device元素内。

答案 1 :(得分:0)

感谢您的帮助,我还是一个初学者,因此感谢您的支持。由于我不明白的原因,我必须先放点东西才能完成功能

我可能没有正确表达以上内容,请随时澄清