Answer: D
Reason: In JavaScript, the lexical scoping is used just like many other modern languages.This means a function gets executed using the scope chain which was in effect, when they are defined instead of variable scope which was in effect when they are invoked/called.