NodeJS中console.log和process.stdout.write的區別
兩種方法——**console.log** 和 **process.stdout.write**——都具有在控制檯上寫入或列印語句的基本定義。但是,它們執行這些任務的方式略有不同。在內部,**console.log** 實現 **process.stdout.write**,後者本身是一個緩衝流,用於直接在控制檯上列印語句。
process.stdout.write | console.log |
---|---|
它持續列印從流中檢索到的資訊,不新增任何換行符。 | 它首先列印正在檢索的資訊,然後新增一個換行符。然後它將繼續檢索第二組要列印的語句。 |
process.stdout.write方法只接受字串作為引數。傳遞其他資料型別將導致型別錯誤。 | 它可以接受任何型別的輸入引數。 |
如果我們不新增換行符,我們將得到一個奇怪的字元。 | 這裡不需要換行符,因為文字已格式化,字元也會自動消失。 |
它用於列印圖案,因為它不新增換行符。 | 當我們需要在列印語句後換行時使用它。 |
它不能一次列印多個字串。 例如,process.stdout.write("Hello", "World"); 將丟擲型別錯誤,因為它不再是字串。 | 我們可以使用此方法編寫多個字串。例如,console.log("Hello", "World"); 將在控制檯中列印 Hello World。 |
此方法無法關聯兩個字串型別。例如: process.stdout.write("Hello %s", "All"); 將丟擲型別錯誤。 | 此方法可用於進行關聯。 例如,console.log("Hello %s", "All"); 將在控制檯中列印 Hello All。 |
process.stdout.write
示例 1
<script> // For process.stdout process.stdout.write("Hello"); process.stdout.write("World"); process.stdout.write("!!!"); </script>
輸出
HelloWorld!!! console.log
示例 2
<script> // For process.stdout console.log("Hello"); console("World"); console.log("!!!"); </script>
輸出
Hello World !!!
廣告