javascript - 关于ES6的default value问题
本文介绍了javascript - 关于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的值输出两遍... 求解答...
解决方案
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();
这么写试试能看懂嘛,如果看不懂就补补基础,作用域相关的知识点。
这篇关于javascript - 关于ES6的default value问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文