Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a Javascript variable that represents local scope? Like global?

global is an object containing any global variables (at least in Node.js, they're in window in the browser).

Is there a similar variable that represents the current scope? Local variables don't show up in global (for a good reason :) )

asdf = "hello";
var local = "hello";

console.log(global); // includes asdf
console.log(???);    // includes local?
like image 703
Sean Clark Hess Avatar asked Nov 18 '11 14:11

Sean Clark Hess


1 Answers

Is there an object represents the local scope?

Yes. There is.

Could you access the object (directly)?

No. You can't.

Why? JavaScript has only function scope - which is the execution Context. Within the execution Context, an Activation object(also known as call object) is used to create local variables as its property. However,

...it is not a normal object as it has no prototype (at least not a defined prototype) and it cannot be directly referenced by javascript code.

Reference

like image 145
steveyang Avatar answered Oct 02 '22 13:10

steveyang