关于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">左侧入</button>
<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>
</html>
 
由于button放在了form里,js操作的时候形成了闭包,故无法修改全局的a,每次第一个输出都是1,第二个输出总是0
haley欢迎您来访本博客。此博客是作者在工作中的一个记事本,方便下次遇到同样问题时,以最快的速度解决掉遇到的问题。如果您发现哪里写的不对,欢迎给我留言,让我们一起进步。不胜感激!
原文地址:https://www.cnblogs.com/haley168/p/5352388.html