On Wednesday, November 27, 2013, Ryan Schmidt wrote:

>
> On Nov 26, 2013, at 23:50, dhtml wrote:
>
> > On Thursday, November 21, 2013 7:13:48 AM UTC-8, Gregg Caines wrote:
> >
> >> So how do you achieve the same effect in javascript?  In the browser,
> you have globals.
> >
> > The global object has nothing to do with web browsers.
>
> Sure it does. In browsers you can reference a global easily from any file.
> In node, each file gets its own namespace, so you can’t.


This is simply not true. By default, module code has access to the `global`
object reference, which allows:

// module.js
global.foo = 1;


// program.js
require("./module.js");

console.log(foo); // 1


There is no implicit global environment bindings created for top level var
declarations or function declarations because the source body of module
code is wrapped in an IIFE:
https://github.com/joyent/node/blob/master/src/node.js#L1007-L1014. Which
is not the same as a unique "namespace" and certainly not the same as
having a fresh realm-like global object.

Rick


>
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to