From 81772d8d661dbd893ef2f9f5be2c0da83921fa13 Mon Sep 17 00:00:00 2001 From: Abhas Bhattacharya Date: Mon, 3 Aug 2020 21:10:08 +0530 Subject: [PATCH] update post: Closure and this - How are variables resolved within a function? --- ckddoqwv80154xvs198jkaa5m.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ckddoqwv80154xvs198jkaa5m.md b/ckddoqwv80154xvs198jkaa5m.md index 955e6d5..cb2d98a 100644 --- a/ckddoqwv80154xvs198jkaa5m.md +++ b/ckddoqwv80154xvs198jkaa5m.md @@ -23,12 +23,14 @@ function outer() { Here we have a outer function, which returns a inner function, and this inner function is called later inside another block scope. The scope for each of them is labelled from A to C, and there is also a outermost global scope. -**What is the output above? How is the variable `myText` resolved within the function?** +**What is the output above? How is the variable `myText` resolved within the function?** In the same note, **how is `this` resolved within the function body?** ## Creating and calling function is different +Let's understand in depth, from the start. + A function has 2 distinct phases - function creation and function call. Function is created when you define it (with hoisting) in the lexical scope or creation scope. Now, this function can be stored in some variable and called much later - from the caller scope. These creation and caller scopes might be different.