我无法使基本工作正常-更新函数中全局变量的内容。
因此,以下是示例的简化代码:
<html>
<head>
<script>
window.mytestip = "Var set as global";
var ConditionVar = 1;
if (ConditionVar == 1)(function() {
mytestip = "Var set to Yes";
});
else(function() {
mytestip = "Var set to No";
});
</script>
</head>
<body>
<p> <span id=mytest>-</span> </p>
<script>
document.getElementById('mytest').innerHTML = window.mytestip;
</script>
</body>
</html>
为什么mytestip没有更新?
这里是一个小提琴:https://jsfiddle.net/4bu8gp9f/
分辨率:
添加()实际上解决了所显示的代码问题。 但是我的代码是嵌套的,因此无法使用。
相反,我已通过设置本地存储变量解决了该问题,并在以后从本地存储中找回了它:
函数中的: localStorage.setItem(“ LocalIp”,mytestip);
稍后在代码中: mytestip = localStorage.getItem(“ LocalIp”);
谢谢大家!
答案 0 :(得分:0)
您应该使用:
if (ConditionVar == 1) {
mytestip = "Var set to Yes";
} else {
mytestip = "Var set to No";
}
答案 1 :(得分:0)
我认为您的if else statement
是错的。
所以我试图这样做。
<html>
<head>
<script>
window.mytestip = "Var set as global";
var RTCPeerConnection = window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
if (RTCPeerConnection){
window.mytestip = "Var set to Yes";
}
else{
window.mytestip = "Var set to No";
}
</script>
</head>
<body>
<p> <span id=mytest>-</span> </p>
<script>
document.getElementById('mytest').innerHTML = window.mytestip;
</script>
</body>
</html>
答案 2 :(得分:0)
如丹尼尔和保罗所说的那样,请尝试以下代码:
if (RTCPeerConnection) {
window.mytestip = "Var set to Yes";
}else
window.mytestip = "Var set to No";
}
别忘了在span id参数上加引号
答案 3 :(得分:0)
所以,我相信您有充分的理由在ifs内使用函数,因此,在这种情况下,您只是在内联函数之后错过了'()':
if (ConditionVar == 1) {
(function() {
mytestip = "Var set to Yes";
})();
} else {
(function() {
mytestip = "Var set to No";
})();
}
我添加了方括号来组织代码(并建议始终这样做)
如果不是这种情况,请遵循其他建议的答案。
答案 4 :(得分:0)
分辨率:
添加()实际上解决了所显示的代码问题。但是我的代码是嵌套的,因此无法使用。
相反,我已通过设置本地存储变量解决了该问题,并在以后从本地存储中找回了它:
函数中的: localStorage.setItem(“ LocalIp”,mytestip);
稍后在代码中: mytestip = localStorage.getItem(“ LocalIp”);
谢谢大家!