Partículas, Cuerdas, Branas y Dimensiones Enrolladas. Ponencia. Adrián Baños Couso
Node.js - #3 - Global Objects - Rodrigo Branas
-
Upload
rodrigo-branas -
Category
Internet
-
view
896 -
download
0
Transcript of Node.js - #3 - Global Objects - Rodrigo Branas
Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br
Global Objects
Não se esqueça que tudo que é definido dentro do módulo é privado
Criando uma variável index.js
1. var max = 10000; 2. var serialGenerator = require('./serialGenerator'); 3. console.log(serialGenerator.generate());
Tentando utilizar a variável serialGenerator.js
1. module.exports.generate = function () { 2. return Math.floor(Math.random() * max); 3. };
Existe um escopo global, similar ao dos navegadores?
Cuidado, evite poluir o escopo global
Exibindo os Global Objects
1. console.log(global);
Exibindo apenas as propriedades dos Global Objects
1. console.log(Object.keys(global));
Onde estão as operações require e os objetos module e exports?
https://github.com/nodejs/node-v0.x-archive/blob/master/src/node.js
Criando uma variável global utilizando global, GLOBAL e root
1. global.max = 10000; 2. GLOBAL.max = 10000; 3. root.max = 10000;
Criando uma variável index.js
1. global.max = 10000; 2. var serialGenerator = require('./serialGenerator'); 3. console.log(serialGenerator.generate());
Criando uma variável index.js
1. GLOBAL.max = 10000; 2. var serialGenerator = require('./serialGenerator'); 3. console.log(serialGenerator.generate());
Criando uma variável index.js
1. root.max = 10000; 2. var serialGenerator = require('./serialGenerator'); 3. console.log(serialGenerator.generate());
Tentando utilizar a variável serialGenerator.js
1. module.exports.generate = function () { 2. return Math.floor(Math.random() * global.max); 3. };
Tentando utilizar a variável serialGenerator.js
1. module.exports.generate = function () { 2. return Math.floor(Math.random() * GLOBAL.max); 3. };
Tentando utilizar a variável serialGenerator.js
1. module.exports.generate = function () { 2. return Math.floor(Math.random() * root.max); 3. };
Qual é a diferença entre os objetos global, GLOBAL e root?
https://github.com/nodejs/node-v0.x-archive/blob/master/src/node.js
Também é possível criar uma variável global, não utilizando var
1. max = 10000; 2. var serialGenerator = require('./serialGenerator'); 3. console.log(serialGenerator.generate());
Utilizando uma variável global serialGenerator.js
1. module.exports.generate = function () { 2. return Math.floor(Math.random() * max); 3. };
Como fazer para criar variáveis globais sem utilizar o escopo global?
Utilize um módulo config.js
1. exports.max = 10000;
Utilizando uma variável global serialGenerator.js
1. var config = require('./config'); 2. 3. module.exports.generate = function () { 4. return Math.floor(Math.random() * config.max); 5. };
Rodrigo Branas Agile Code: http://www.agilecode.com.br Twitter: @rodrigobranas SlideShare: http://www.slideshare.com/rodrigobranas YouTube: http://www.youtube.com/rodrigobranas LinkedIn: http://br.linkedin.com/in/rodrigobranas +Plus: https://plus.google.com/+RodrigoBranas GitHub: http://www.github.com/rodrigobranas