搜索了不少问题没有找到想要的答案,可能是我没搞懂核心问题是啥。
想问一下onclick事件函数中并不能改变全局变量的值吗,那要如何才能改变:
<body>
<button id="btn">加一</button>
<script>
var btn = document.getElementById("btn")
var num = 1;
btn.onclick = function () {
num += 1;
console.log(num); // num = 2/3/4...
}
console.log(num) // num = 1
</script>
</body>
就是一个简单的全局变量,想通过点击事件使全局变量的值增加。
但是变量始终只在内部增加,我试了一下普通函数可以直接改变全局变量的值,但是事件函数就是不行
你怎么验证外部变量改变了呢?通过最后那句
console.log
吗?但是这条语句只在script
脚本初始化的时候执行了一次,点击的时候并不会执行了,怎么判断全局变量没改呢?其实是改了的,只是验证的方式不太对。
在chrome上我点击了几次按钮,然后在控制台输入
num
打印全局变量,是变了: