为了账号安全,请及时绑定邮箱和手机立即绑定

js关于let使用的问题

js关于let使用的问题

MM们 2018-11-03 14:18:20
let x = 1; function foo( y = function() { x = 2; }) {   var x;     y(); } foo(); 这个函数执行到y的时候x会自动等于1 let x = 1;function foo( y = function() { x = 2; }) {   let x;     y(); } foo(); 这块执行到y的时候x则是undefined 问题一: 为什么两次函数中的初始化x值不一样?这是var复用的上级let吗? 问题二: 这俩函数执行后最后结果都是2,为什么函数内的let修改会影响上级?请大神详细解释一下,这块看了半天没懂
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

确定第一个执行到y的时候x的值是1?在执行y之前log一下看到的是undefined啊?

查看完整回答
反对 回复 2018-11-06
  • 2 回答
  • 0 关注
  • 751 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信