在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ es6可變參數(shù)的問題

es6可變參數(shù)的問題

碰到這樣的一個問題,利用es6的可變參數(shù)方式給函數(shù)參數(shù)賦值,例如;
function log1(msg, ...params){

console.log(msg, params);

}
log1("fff%d%d%d",12,3,4);
輸入的結(jié)果為:fffNaN%d%d
跟實際想要的結(jié)果不一樣,想要的結(jié)果是fff%d%d%d [12,3,4]
請問該怎么處理?

回答
編輯回答
不二心

clipboard.png

問題的根本原因在于console.log這函數(shù),而不是rest參數(shù)

function log(first, ...rest) {
    console.log(first);
    console.log(rest);
}

你可以試下它是正常的。

console.log源碼有興趣可以看一下

clipboard.png

%d表示的是占位符,而你現(xiàn)在傳入的第二個參數(shù),也就是rest參數(shù)是一個數(shù)組,所以被解釋成了NaN。

而如果正常的話應該是這樣: console.log('fff%d%d%d',2,3,4); // fff234;

2017年10月21日 06:25
編輯回答
執(zhí)念

console.log有格式化輸出的功能,你這剛好觸發(fā)它的這個功能
可以這樣,輸出兩次

console.log(msg);
console.log(params)
2017年12月29日 10:23