关于ES6的default value问题

从阮老师那边过来的 => http://es6.ruanyifeng.com/#docs/function#函数参数的默认值
原代码

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

在第二行我添加了一句console.log(x); 然后就陷入迷茫了,运行结果如下:

init: undefined

3

并没有想象中把init + x的值输出两遍... 求解答...


HUH函数
浏览 600回答 1
1回答

慕无忌1623718

var x = 1;var fun = function () {    console.log('int ' + x);     x = 2; };function foo (x, y = fun) {    var x = 3;     y();    console.log(x); } foo();这么写试试能看懂嘛,如果看不懂就补补基础,作用域相关的知识点。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript