2016-06-20 95 views
1

以下是Node.js中的錯誤或功能?如果它是一個功能,請在規範中指出。非字符串後,未在Node.js中格式化的字符串

當我們調用這個:

console.log('one\ntwo', 'three\nfour'); 

我們得到了預期:

one 
two three 
four 

但是如果我們用在它前面的一個非字符串值,然後串不再格式化爲預期:

console.log(1, 'one\ntwo', 'three\nfour'); 

輸出:

1 'one\ntwo' 'three\nfour' 

這是爲什麼?

UPDATE

the link通過@MuliYulzary,這樣看來,它應該設置格式的基礎上,第一個參數是一個字符串或沒有。

我發現,當第一個參數是字符串時,Node.js使用util.format(parameters),並且當第一個參數不是字符串時,它使用util.inspect

這就是它的工作原理。

+1

看一看這一點。基本上你正在運行另一個不同用途的console.log變體。 https://developer.mozilla.org/en-US/docs/Web/API/Console/log –

+0

「console.log」沒有規範。 – Bergi

+0

@Bergi當然有:https://developer.mozilla.org/en-US/docs/Web/API/Console/log –

回答

0

從文件console.log,它工作正常

console.log(object [, object, ...]) 

Logs a debug level message. You pass one or more objects to this method, each of which are evaluated and concatenated into a space-delimited string. The first parameter you pass to console.log() may contain Format Specifiers. 

見樣品使用here