关于form导致的作用域变化问题
<!DOCTYPE html>
<html>
<head>
<title>任务18</title>
<meta charset="utf-8" />
</head>
<body>
<form id ="a">
<input type="text" id="in" />
<button id="left_in">左侧入</bu
tton>
<div id="number">显示data值</div>
</form>
</body>
<script type="text/javascript">
var a=0;
document.getElementById('left_in').onclick = function(){
a=1
alert(a)
};
document.getElementById('number').onclick = function(){
alert(a)
};
</script>
</ht
ml>
<html>
<head>
<title>任务18</title>
<meta charset="utf-8" />
</head>
<body>
<form id ="a">
<input type="text" id="in" />
<button id="left_in">左侧入</bu
<div id="number">显示data值</div>
</form>
</body>
<script type="text/javascript">
var a=0;
document.getElementById('left_in').onclick = function(){
a=1
alert(a)
};
document.getElementById('number').onclick = function(){
alert(a)
};
</script>
</ht
由于button放在了form里,js操作的时候形成了闭包,故无法修改全局的a,每次第一个输出都是1,第二个输出总是0
haley欢迎您来访本博客。此博客是作者在工作中的一个记事本,方便下次遇到同样问题时,以最快的速度解决掉遇到的问题。如果您发现哪里写的不对,欢迎给我留言,让我们一起进步。不胜感激!