欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node.js學習之交互式解釋器REPL詳解

 更新時間:2016年12月08日 11:30:03   作者:WhyWin  
Node.js REPL(Read Eval Print Loop:交互式解釋器) 表示一個電腦的環(huán)境,類似Window 系統(tǒng)的終端或 Unix/Linux shell,我們可以在終端中輸入命令,并接收系統(tǒng)的響應。下面這篇文章我們就來詳細的介紹下關于node.js交互式解釋器REPL的內(nèi)容,有需要的朋友們可以參考借鑒。

簡介

repl是Node.js提供的一個Read-Eval-Print-Loop (REPL,讀取-執(zhí)行-輸出-循環(huán))實現(xiàn),它即可以做為一個獨立的程序使用,又可以包含在其它應用中使用。REPL是一個互式命令行解析器,它提供了一個交互式的編程環(huán)境,它可以實時的驗證你所編寫的代碼,非常適合于驗證Node.js和JavaScript的相關API。

Node 自帶了交互式解釋器,可以執(zhí)行以下任務:

     讀取 - 讀取用戶輸入,解析輸入了Javascript 數(shù)據(jù)結構并存儲在內(nèi)存中。

     執(zhí)行 - 執(zhí)行輸入的數(shù)據(jù)結構

     打印 - 輸出結果

     循環(huán) - 循環(huán)操作以上步驟直到用戶兩次按下 ctrl-c 按鈕退出。

Node 的交互式解釋器可以很好的調(diào)試 Javascript 代碼。

  REPL既可以作為獨立單機程序,也可以被其他的程序包含在內(nèi)的程序。

  它提供了一種交互方式,即“執(zhí)行程序,展現(xiàn)結果”。

  它可以被用作debugging,testing 或者只是執(zhí)行操作得到一些結果。

執(zhí)行REPL

  打開命令行,到達node.js安裝的目錄,鍵入node

$ node
> 

  會看到REPL命令提示符>在這里你可以輸入任何Node.js的命令。

1)、簡單表達式

  讓我們嘗試在Node.js的REPL命令提示符下完成簡單的數(shù)學計算:

$ node
> 2 + 3
> 2 + ( 2 * 3 ) - 4
>

  注意: > 是REPL命令的提示符。

2)、使用變量

  你可以將數(shù)據(jù)存儲在變量中,并在你需要的使用它。

  變量聲明需要使用 var 關鍵字,如果沒有使用 var 關鍵字變量會直接打印出來。

  使用 var 關鍵字的變量可以使用 console.log() 來輸出變量。

$ node
> x = 10
> var y = 10
undefined
> x + y
> console.log("Hello World")
Hello World
undefined

3)、多行表達式

  Node REPL 支持輸入多行表達式,這就有點類似 JavaScript。

接下來讓我們來執(zhí)行一個 do-while 循環(huán):

$ node
> var x = 0
undefined
> do {
... x++;
... console.log("x: " + x);
... } while ( x < 5 );
x: 1
x: 2
x: 3
x: 4
x: 5
undefined
>

  ... 三個點的符號是系統(tǒng)自動生成的,你回車換行后即可。Node 會自動檢測是否為連續(xù)的表達式?! ?/p>

4)、使用函數(shù)

> var name="aaa"
undefined
> name
'aaa'
> function getName(){
... console.log(this.name);
... }
undefined
> getName()
aaa
undefined

  因為REPL環(huán)境內(nèi)部使用eval函數(shù)來評估該表達式的執(zhí)行結果,所以有些東西我們可以直接這樣寫,如對象:

> {a:1,b:2}
{ a: 1, b: 2 }

> [1,2,3,4,5]
[ 1, 2, 3, 4, 5 ]

5)、下劃線_

  使用_可以指代上一次的操作執(zhí)行后的值,比如

  對象:

> {a:2,b:3}
{ a: 2, b: 3 }
> for(var key in _){
... console.log("key="+key+",value="+_[key]);
... }
key=a,value=2
key=b,value=3
undefined

  數(shù)組:

> {a:2,b:3}
{ a: 2, b: 3 }
> for(var key in _){
... console.log("key="+key+",value="+_[key]);
... }
key=a,value=2
key=b,value=3
undefined

  正確的結果:

> [1,2,3,4,5]
[ 1, 2, 3, 4, 5 ]   //數(shù)組
> Object.keys(_).map(function(k){return _[k]*_[k]})
[ 1, 4, 9, 16, 25 ]   //元素值

3、REPL命令

ctrl + c - 終止當前命令

ctrl + c twice - 終止Node REPL

ctrl + d - 終止Node REPL

Up/Down Keys - 查看命令歷史記錄和修改以前的命令

tab Keys - 當前指令的列表

help - 所有命令的列表

break - 退出多行表達式

clear - 從多行表達退出

save filename - 當前Node REPL會話保存到文件中

load filename - 加載文件的內(nèi)容在當前Node REPL會話

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關文章

  • Nodejs搭建多進程Web服務器實現(xiàn)過程

    Nodejs搭建多進程Web服務器實現(xiàn)過程

    這篇文章主要為大家介紹了Nodejs搭建多進程Web服務器實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Node.js創(chuàng)建Web、TCP服務器

    Node.js創(chuàng)建Web、TCP服務器

    這篇文章主要介紹了用Node.js創(chuàng)建Web服務器和TCP服務器的方法和處理技巧,需要的讀者們學習一下吧。
    2017-12-12
  • nodejs發(fā)布靜態(tài)https服務器步驟指南

    nodejs發(fā)布靜態(tài)https服務器步驟指南

    這篇文章主要為大家介紹了nodejs發(fā)布靜態(tài)https服務器的步驟指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-02-02
  • 使用ExcelJS快速處理Node.js爬蟲數(shù)據(jù)

    使用ExcelJS快速處理Node.js爬蟲數(shù)據(jù)

    Excel.js是一個強大的JavaScript庫,它提供了方法處理Excel文件,例如創(chuàng)建和編輯工作簿、讀取和寫入數(shù)據(jù)、處理行和列、設置樣式、導入和導出數(shù)據(jù)等,本文介紹使用ExcelJS快速處理Node.js爬蟲數(shù)據(jù)的方法,一起看看吧
    2024-01-01
  • Node與Python 雙向通信的實現(xiàn)代碼

    Node與Python 雙向通信的實現(xiàn)代碼

    最簡單粗暴的通信方式是 Nodejs調(diào)用一下 Python 腳本,本文詳細介紹了Nodejs與Python 雙向通信的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 提高Node.js性能的應用技巧分享

    提高Node.js性能的應用技巧分享

    Node.js 是單線程非阻塞 I/O, 使其可以支持成千上萬的并發(fā)操作。這和 NGINX 解決 C10K 問題的方式如出一轍。Node.js 以高效的性能和開發(fā)效率著稱。
    2017-08-08
  • node.js中的console.time方法使用說明

    node.js中的console.time方法使用說明

    這篇文章主要介紹了node.js中的console.time方法使用說明,本文介紹了console.time的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js使用Angular簡單示例

    Node.js使用Angular簡單示例

    這篇文章主要介紹了Node.js使用Angular簡單示例,如何在Node.js項目中引入AngularJS,這次提供一個非常簡單的示例,演示AngularJS里的指令、數(shù)據(jù)綁定、服務等內(nèi)容。感興趣的小伙伴們可以參考一下
    2018-05-05
  • express.js中間件說明詳解

    express.js中間件說明詳解

    這篇文章主要介紹了express.js中間件說明詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • nodejs同步調(diào)用獲取mysql數(shù)據(jù)時遇到的大坑

    nodejs同步調(diào)用獲取mysql數(shù)據(jù)時遇到的大坑

    今天小編就為大家分享一篇關于nodejs同步調(diào)用獲取mysql數(shù)據(jù)時遇到的大坑,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03

最新評論