js全局变量无效

JavaScript09

js全局变量无效,第1张

js全局变量无效原因:

①如果在函数体外,带var和不带var都是全局变量。

②如果在函数体内,带var的是局部变量,运行结束后就会销毁。而不带var的依然是全局变量,属于window对象。

③带var的全局变量是立刻在内存中创建一块区域存储这个值,所以在js解析的时候会前置到最前面。而如果不带var,只能运行到此处的时候,再去查找所有的全局变量有没有声明,如果没声明才去创建内存区域存储这个值。

<script type="text/javascript">

function showDiv(){

document.getElementById('popDiv').style.display='block'

document.getElementById('bg').style.display='block'

}

function closeDiv(){

document.getElementById('popDiv').style.display='none'

document.getElementById('bg').style.display='none'

}

</script>

<div id="popDiv" style="z-index:99display:noneposition:absolutemargin-top: 20%margin-left: 40%background-color: #FFF">

<h3>这里的html自己写,样式什么的自定义</h3>

<form action="#">

<p><span>账号:</span><input type="text"></p>

<p><span>密码:</span><input type="password"></p>

</form>

<br/>

<a href="javascript:closeDiv()">关闭遮罩层</a></div>

<div id="bg" style="display:nonebackground-color: #cccwidth: 100%position:absoluteheight: 100%opacity: 0.5z-index: 1"></div>

<div style="padding-top: 10%padding-left:40%z-index:1">

<input type="Submit" name="" value="打开遮罩层" onclick="javascript:showDiv()" />

</div>

效果图: