谷歌浏览器js断点调试问题

s4686796 2017-06-16 07:29:38
在谷歌浏览器调试断点的时候 执行下面代码
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<script type="text/javascript">
window.onload = function () {
var a = "213";

var textObj = {
click: function () {
debugger;
// console.log(a);
}
};

var btn = document.getElementById('btn');

btn.addEventListener('click', textFun, false);

function textFun () {
textObj.click();
};

}
</script>
<body>
<button id="btn">Click</button>
</body>
</html>
这个时候在控制台中敲a 是会报错 而去掉console的注释后会拿到 a的值 这是为啥
...全文
340 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
希望之盾 2017-06-17
  • 打赏
  • 举报
回复
你如果刚开始就在click函数中访问了a,a被拷贝了一份到click的作用域里,单击按钮在自己的click作用域就可以访问。 如果click中不访问的话,a就是一个onload里面的局部变量,页面加载完函数执行完毕,变量被销毁,当然访问不到。类似于闭包里的数据传递。希望采纳!

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧