2013-04-04 16 views
4

瀏覽器,如Chrome和Firefox提供console API,使格式化日誌消息的排放,是這樣的:本地JavaScript類printf函數

>>> console.log("%s has %d points", "Sam", "100"); 
Sam has 100 points 

現在,假設我要產生一個格式化字符串,但不必須將其登錄到控制檯。瀏覽器是否公開了生成日誌字符串的本機函數?它是ECMA標準的嗎?或者我們現在應該滿足第三方庫如JavaScript sprintf

+0

沒有本土還沒有,但這裏有一個圖書館 - http://www.diveintojavascript.com/projects/javascript-sprintf – Ian 2013-04-04 18:52:05

+0

@Ian是的!這是在問題中提到的。這個庫令人印象深刻。 – Humberto 2013-04-04 18:53:34

+0

廢話,我是個白癡。哈哈我甚至沒有注意到這個問題,對此抱歉。該鏈接的文本是沉悶的,因爲我之前訪問過它,所以它與其他文本混合(並且我清楚地沒有完全閱讀你的問題):( – Ian 2013-04-04 18:54:33

回答

4

ES6將介紹一些基本的字符串形式格式化:

`${name} has ${val} points`; 

但目前尚未有本地字符串在ES5格式化。

+1

這將是偉大的,它讓我想起了我的舊Perl時代。 .. – Humberto 2013-04-04 18:54:28

+2

這與printf不太相似,在這種情況下,name和val應該是define – albanx 2016-09-02 15:11:47

0

我不認爲你可以自己做。你可以編寫你自己的javascript toString函數來處理不同的選項。

或者你可以做

var samuel = "sam"; 
var someNumber = 100; 

var someString = samuel + " has " + someNumber + " points";