Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
Javascript 未知变量显示为未定义_Javascript_Html_Variables_Undefined - Fatal编程技术网

Javascript 未知变量显示为未定义

Javascript 未知变量显示为未定义,javascript,html,variables,undefined,Javascript,Html,Variables,Undefined,我试图在使用mobile时对css进行一些更改,但未知变量显示为未定义 我搜索了很多教程,找到了很多不同的解决方案,但我是javascript和html的初学者,并不完全理解它们。我正在使用chrome并更改用户代理以查看移动设备上发生的情况 <!DOCTYPE html> <html> <body> <p id="demo">Show</p> <div id="device">&

我试图在使用mobile时对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
undefined
End

在手机上,“秀”消失了。但是undefined没有。

问题来自这一行:
document.getElementById(“设备”).innerHTML=hide()

hide
函数没有返回,因此如果您使用它返回的数据,因为它不返回任何内容,它会将
未定义的
放在
#device
元素中。

感谢您的帮助我是一个初学者,因此感谢您的支持。出于我不理解的原因,我不得不在返回中放入一些东西,然后它才能完成功能


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

您的
显示
隐藏
函数没有返回任何内容,这意味着您正在将
#设备
元素的
内部HTML
设置为
未定义
。当我将其更改为:else document.getElementById(“设备”)时.innerHTML=hide();返回;“表演”并没有消失。
Show
undefined
End