文章详情页
javascript - js let 和 var问题
问题描述
为什么用全局变量(var i = 0)无法传入参数,区域变量(let i = 0)却可以
for (var i = 0; i < inputs.length; i++) { inputs[i].onfocus = function(){showTip(i); };};function showTip(n){ tips[n].style.color = 'red';}
问题解答
回答1:日经问题,请自行搜索:闭包、JavaScript的块级作用域
回答2:let 只是在当前块级作用域(for的大括号内)有效,每次循环可看成一个新的变量。可参考阮一峰的 ECMAScript 6 入门 中的let命令
标签:
JavaScript
相关文章:
1. html5 - 目前 公司App 嵌入H5页面 做个 手机支付功能 没有做过 所以 请求各位有经验的 给个思路2. node.js - nvm怎么更新node的最新版本呀?3. PHP单例模式4. docker不显示端口映射呢?5. html5 - Vue绑定动态变量不可用6. dockerfile - [docker build image失败- npm install]7. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题8. angular.js使用$resource服务把数据存入mongodb的问题。9. angular.js - angular内容过长展开收起效果10. Angular.js 无法设置Authorization头,该怎么解决?
排行榜