ES6介绍default parameters。我试图了解内联函数默认参数如何与这个新功能一起使用。具体如何确定其范围。
举例说明以下两个函数:
function one(x, f = function (){return x})
{
var x = 5;
console.log([x,f()]);
}
function two(x, f = function (){return x})
{
x = 5;
console.log([x,f()]);
}
one(1);//[5,1]
two(1);//[5,5]
是否正确地说,在函数一中,f
在参数列表中为x
保留了它自己的闭包范围,因此当函数将x重新定义为新的var:{{1 } var x = 5;
的引用与函数内部的引用不同?
如果是这种情况,则函数1等于下面的函数三:
f
如果有人能够指出我文档的正确部分也很棒,我试着,没有运气,找到如何记录这种行为。