ES6 函数的问题

看阮老师的写的es6时,遇到这两个函数,想问下这两个怎么理解:
问题一:y = function() { x = 2; }这个x的作用域是在哪
问题二:两个函数的区别是一个var,怎样理解结果

var x = 1;
function foo(x, y = function() { x = 2; }) {
  var x = 3;
  y();
  console.log(x);
}
foo() // 3


var x = 1;
function foo(x, y = function() { x = 2; }) {
  x = 3;
  y();
  console.log(x);
}

foo()
2
阅读 2.4k
推荐问题
宣传栏