javascript中沒有大部分語言中都有的string.format
方法,但是通過引入第三方庫就可以支持了,比如sprintf-js。
其用法如下
用法一
類似Go裏面的fmt.sprintf
用法。
這也是類似c/c++這樣的語言裏的用法,用%d
表示數字,%s
表示字符串:
比如Go代碼
s := fmt.sprintf("數字:%d 字符串:%s", 123, "javascript")
同樣功能的javascript代碼爲
const s = vsprintf('數字:%d 字符串:%s', [123, 'javascript']);
輸出都爲
數字:123 字符串:javascript
用法二
類似C#裏面的string.format
用法:
C#的用法比較特別,其用{0}
表示傳入的第一個參數,依次類推。但是比較靈活,因爲同樣的佔位符。比如{0}
可以出現多次,也能以任意順序出現。
比如C#代碼
var s = string.Format("字符串在前{1} 字符串再出現一次{1} 數字{0}", 123, "javascript");
同樣功能的javascript代碼爲:
不一樣的是,這裏索引從1開始。
const s = sprintf('字符串在前%2$s 字符串再出現一次%2$s 數字%1$d', 123, 'javascript');
輸出都爲
字符串在前javascript 字符串再出現一次javascript 數字123