From a5eaf03818a621730a0c921c3d719ba185b43e03 Mon Sep 17 00:00:00 2001 From: Sunny Patel Date: Fri, 9 Sep 2016 13:35:49 +0530 Subject: [PATCH] Fixed typos in Closure --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 03ed7d6..fa277f3 100644 --- a/readme.md +++ b/readme.md @@ -168,9 +168,9 @@ function getTicker () { tickTock(); //returns 1 tickTock(); //returns 2 ``` -The function getTimer() returns a function(internally called ticker), lets store it in a variabke called tickTock. +The function getTicker() returns a function(internally called ticker), lets store it in a variabke called tickTock. -Ideally, when the getTimer finishes execution, its scope, with local variable tick should also not be accessible. But, it returns 1, 2, 3.. on calling tickTock(). This simply means that, somewhere it keeps a track of the variable tick. +Ideally, when the function getTicker finishes execution, its scope, with local variable tick should not be accessible. But, it returns 1, 2, 3.. on calling tickTock(). This simply means that, somewhere it keeps a track of the variable tick. Lexical scoping is the reason why it is able to find the value of tick - the private variable of the parent which has finished executing. This value is called a Closure. The stack along with the lexical scope of the function is stored and upon re-execution same stack is restored.