您好,登錄后才能下訂單哦!
今天小編給大家分享一下Node.js全局可用變量、函數和對象實例代碼分析的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
在Node.js中提供了一些全局可用的變量、函數和對象,全局就是不需要進行模塊加載,可以直接使用的。其中包括全局作用域的函數和對象。也包括不在全局作用域,而在每個模塊作用域都存在的變量、函數和對象,在全局可用,但不是golbal對象的屬性。
Node.js提供了兩個與文件操作相關全局可用變量_dirname和_filename變量。其中_dirname變量
表示當前文件所在目錄,_filename變量
表示當前正在執行的腳本的文件名。
全局函數在指定的毫秒(ms)數后執行指定函數(cb)。setTimeout()只執行一次指定函數。 setTimeout()返回值可以作為clearTimeout的參數。
如下,我們創建一個函數,然后使用setTimeout來3秒后執行該函數。
function hello(){ console.log("Hello,reader!"); } // 3秒后執行hello()函數 setTimeout(hello,3000);
在終端進行運行,3秒以后將輸出函數中的內容。
全局函數用于停止一個之前通過setTimeout()創建的定時器。參數t是通過setTimeout()函數創建的計時器。
如下,我們創建一個函數,然后使用setTimeout來3秒后執行該函數。用clearTimeout清除。
function hello(){ console.log("Hello,reader!"); } // 3秒后執行hello()函數 var t = setTimeout(hello,3000); // 清除定時器 clearTimeout(t);
終端運行后,沒有任何結果
setInterval和setTimeout類似,不過setInterval會在每毫秒后(并非精確的毫秒,ms)執行一次指定函數(cb)。setInterval返回值可以作為clearInterval的參數。setInterval() 方法會不停地調用函數,直到 clearInterval() 被調用或窗口被關閉。
function hello(){ console.log("Hello,reader!"); } // 3秒后執行hello()函數 setInterval(hello,3000);
運行后每隔3秒會出現一個Hello,reader!直到終止程序(ctrl+C)。
用于停止setInterval定時器,這樣回調函數就不會被執行。
function hello(){ console.log("Hello,reader!"); } // 3秒后執行hello()函數 var t = setInterval(hello,3000); // 清除定時器 clearInterval(t);
運行后沒有任何結果。
用于延遲調用cb函數。cb將在I/O事件回調之后,setTimeout和setInterval回調之前調用。setImmediate的返回值可以作為clearImmediate的參數。
function hello(){ console.log("Hello,reader!"); } setTimeout(hello,3000); setImmediate(hello);
運行后會出現2個Hello,reader! 其中第2個是在出現第一個“Hello,reader! ”后,間隔3秒才出現的。
用于停止觸發回調函數。
我們在學習中,經常使用到console.log()語句,console對象就是一個全局對象,用于提供控制臺標準輸出。
返回信息性消息,這個命令與console.log差別不大,除了在chrome中輸出文字外,其余的會顯示一個藍色的驚嘆號。
輸出錯誤消息,控制臺在出現錯誤時會顯示是紅色的叉叉。
輸出警告消息,控制臺出現黃色的驚嘆號。
用來對一個對象進行檢查,并以易于閱讀和打印的格式顯示。
輸出時間,表示計時開始。
結束時間,表示計時結束。
當前執行的代碼在堆棧中的調用路徑,這個對測試函數運行很有幫助。
用于判斷某個表達式或變量是否為真,有2個參數,第一個參數是表達式,第二個參數是字符串。只有當第一個參數為false時,才會輸出第二個參數,否則不會有任何結果。
以上就是“Node.js全局可用變量、函數和對象實例代碼分析”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。