未知变量显示为未定义
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 中放入一些东西才能完成功能
我上面的措辞可能不正确,请随时澄清
我正尝试在使用移动设备时进行一些 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 中放入一些东西才能完成功能
我上面的措辞可能不正确,请随时澄清