Javascript 未知变量显示为未定义
我试图在使用mobile时对css进行一些更改,但未知变量显示为未定义 我搜索了很多教程,找到了很多不同的解决方案,但我是javascript和html的初学者,并不完全理解它们。我正在使用chrome并更改用户代理以查看移动设备上发生的情况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">&
<!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