1. 程式人生 > >node中的環境變數與全域性變數

node中的環境變數與全域性變數

環境變數

process.env屬性返回一個包含使用者環境資訊的物件

可以在命令列語句中加入環境物件引數

例如執行

AAA=aa node test3.js

在process.env屬性中就會有process.env.AAA存在並且process.env.AAA==="aa";

其中環境賦值一定要在執行語句之前,要不然會報錯或者無法獲取值。

以下錯誤

node test3.js AAA=aa //無法獲取到值
node AAA=aa test3.js  //報錯

全域性變數

test.js

global.__A__="a in global";

__B__="b in global";

(function a(){

__C__="c in global";

})()

test1.js

require('./test');

console.log("__B__:",__B__,"__A__",__A__,"global",global);

執行test1.js是能獲取到在test中定義的三個全域性變數,node中的global就相當於瀏覽器中的window。

但是修改test.js程式碼

global.__A__="a in global";

__B__="b in global";

console.log("this",this==module.exports);

會發現this是空物件,這是因為預設情況下 this==export , this==module.export ,但是this!=global;所以node module中的this要謹慎使用;