From b330d721acc81af02b67dd62ffc6108b3ffdcf09 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 13 Apr 2017 21:36:16 +0800 Subject: [PATCH] =?UTF-8?q?bar()=E8=BE=93=E5=87=BA=E8=A1=A8=E8=BF=B0?= =?UTF-8?q?=E6=9C=89=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bar() 输出表述有误, outer 应该在 bar() 运行时输出! --- docs/function.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/function.md b/docs/function.md index 3f3c61a..65273fc 100644 --- a/docs/function.md +++ b/docs/function.md @@ -301,10 +301,10 @@ let foo = 'outer'; function bar(func = x => foo) { let foo = 'inner'; - console.log(func()); // outer + console.log(func()); } -bar(); +bar(); // outer ``` 上面代码中,函数`bar`的参数`func`的默认值是一个匿名函数,返回值为变量`foo`。函数参数形成的单独作用域里面,并没有定义变量`foo`,所以`foo`指向外层的全局变量`foo`,因此输出`outer`。