請注意區分命令行模式和Node交互模式。
看到類似C:\>
是在Windows提供的命令行模式:
在命令行模式下,可以執行node
進入Node交互式環境,也可以執行node hello.js
運行一個.js
文件。
看到>
是在Node交互式環境下:
在Node交互式環境下,我們可以輸入JavaScript代碼並立刻執行。
此外,在命令行模式運行.js
文件和在Node交互式環境下直接運行JavaScript代碼有所不同。Node交互式環境會把每一行JavaScript代碼的結果自動打印出來,但是,直接運行JavaScript文件卻不會。
例如,在Node交互式環境下,輸入:
> 100 + 200 + 300;
600
直接可以看到結果600
。
但是,寫一個calc.js
的文件,內容如下:
100 + 200 + 300;
然后在命令行模式下執行:
C:\Workspace>node calc.js
發現什么輸出都沒有。
這是正常的。想要輸出結果,必須自己用console.log()
打印出來。把calc.js
改造一下:
console.log(100 + 200 + 300);
再執行,就可以看到結果:
C:\Workspace>node calc.js
600
Node的交互模式和直接運行.js
文件有什么區別呢?
直接輸入node
進入交互模式,相當於啟動了Node解釋器,但是等待你一行一行地輸入源代碼,每輸入一行就執行一行。
直接運行node hello.js
文件相當於啟動了Node解釋器,然后一次性把hello.js
文件的源代碼給執行了,你是沒有機會以交互的方式輸入源代碼的。
在編寫JavaScript代碼的時候,完全可以一邊在文本編輯器里寫代碼,一邊開一個Node交互式命令窗口,在寫代碼的過程中,把部分代碼粘到命令行去驗證,事半功倍!前提是得有個27'的超大顯示器!