nodejs 全局变量和全局对象
1、全局對象
所有模塊都可以調用
1)global:表示Node所在的全局環境,類似于瀏覽器中的window對象。
2)process:指向Node內置的process模塊,允許開發者與當前進程互動。
例如你在DOS或終端窗口直接輸入node,就會進入NODE的命令行方式(REPL環境)。退出要退出的話,可以輸入 process.exit();
3)console:指向Node內置的console模塊,提供命令行環境中的標準輸入、標準輸出功能。
通常是寫console.log(),無須多言
?
2、全局函數:
1)定時器函數:共有4個,分別是setTimeout(), clearTimeout(), setInterval(), clearInterval()。
2)require:用于加載模塊。
?
3、全局變量:
1)_filename:指向當前運行的腳本文件名。
2)_dirname:指向當前運行的腳本所在的目錄。
?
4、準全局變量
模塊內部的局部變量,指向的對象根據模塊不同而不同,但是所有模塊都適用,可以看作是偽全局變量,主要為module, module.exports, exports等。
module變量指代當前模塊。module.exports變量表示當前模塊對外輸出的接口,其他文件加載該模塊,實際上就是讀取module.exports變量。
module.id 模塊的識別符,通常是模塊的文件名。
module.filename 模塊的文件名。
module.loaded 返回一個布爾值,表示模塊是否已經完成加載。
module.parent 返回使用該模塊的模塊。
module.children 返回一個數組,表示該模塊要用到的其他模塊。
?
這里需要特別指出的是,exports變量實際上是一個指向module.exports對象的鏈接,等同在每個模塊頭部,有一行這樣的命令。
var exports = module.exports;
這造成的結果是,在對外輸出模塊接口時,可以向exports對象添加方法,但是不能直接將exports變量指向一個函數:
exports.自定義模塊 = function (x){ console.log(x);};
上面這樣的寫法是無效的,因為它切斷了exports與module.exports之間的鏈接。但是,下面這樣寫是可以的。
轉載于:https://www.cnblogs.com/gpzhen/p/7216004.html
總結
以上是生活随笔為你收集整理的nodejs 全局变量和全局对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (C++ STL)list的实现
- 下一篇: JavaScript单线程