下面这两种写法为什么会产生两种不同的结果?求大佬详细解答.... 个人觉得是跟函数参数的块级作用域有关.....但是理解起来还是怪怪的,而且用 chrome debugger 来查看也觉得怪怪的,为啥最后那个输入 x,是根据 Block 来输出的?万分感谢~
function test (x, y = function t () { x = 2 }) { var x y() console.log(x) // undefined} test()
function test (x, y = function t () { x = 2 }) { // var x y() console.log(x) // 2}debuggertest()
精慕HU
相关分类