阿里前端笔试题请教
getter里的key 执行时拿到的是最后一个。这是把那个click 弹i的题目给改了方式又问了…
■网友
因为 key 是函数作用域局部变量,而非块级作用域局部变量。
■网友
2333
【阿里前端笔试题请教】 遇到这类循环里带有 function 的,九成考的就是作用域的问题,脑子里第一个反应就是直接使用 let
■网友
你搜一下 js for循环闭包
■网友
这道题是我的填空题,主要就是考作用域和闭包。因为for是没有块级作用域的,key作为函数变量存了下来,所以key在循环了几次之后值变成了最后一个,你在循环后访问key都是这个值。这大概是从其他语言转到js遇到的第一个坑……
■网友
因为JavaScript是函数作用域,不是块作用域,在整个函数A内部,key的值是共享的。如果想让a.x = X,就要让key不在同一个函数作用,可以加一个立即执行函数,形成一个独立的函数作用域。代码如下:
■网友
应使用:for(let key ... (ES6)或者闭包传入参数,建造新的函数作用域。见函数级作用域与块级作用域的区别。
推荐阅读
- 阿里程序员网上招人的情况为何如此多见
- 啥是微信开发WEB前端
- 双11阿里云搞活动,买了一个ecs云服务器,能做啥呢
- 想写个个人博客,苦于不知道用啥前端框架
- 天猫买东西电话,家庭住址,姓名被泄露,阿里有啥措施
- 有幸拿到腾讯与阿里巴巴两份实习,有点小纠结?
- 哪些是学了前端才知道的事
- 阿里云|【GET2020】阿里云解航:在线教育帮助线下教育一起实现教育公平和个性化
- 微软上海+阿里杭州实习offer咋选择
- 应聘阿里巴巴国际站销售员
