Execution
Folder 3
my_script.js
myInnerObj.innerFunc()
Scope objects
Folder 3
Global object
Folder 1
myObj = {
myProp: "outer-value",
createInnerObj: <func>
}
myInnerObj = {
myProp: "inner-value",
innerFunc: <func>
}
fakeObject = {
myProp: "fake-inner-value",
innerFunc: <func>
}
createInnerObj() scope
Folder 1
hidden = "value-in-closure"
innerFunc = <func>
innerFunc() scope
Folder 1
this