 If adhered to, this convention effectively creates a separate namespace for special variables, so that variables intended to be lexical are not accidentally made special.Lexical scope is useful for several reasons.Firstly, references to variables and functions can be compiled to efficient machine code, because the run-time environment structure is relatively simple.