0条评论
还没有人评论过~
1 let str1 = "Apple"; 2 let str2 = "Banana"; 3 4 let finalStr = showTpl`我今天要吃的东西是${str1}和${str2}。` 5 6 7 function showTpl(strings, ...values){ 8 let result = ''; 9 for(var i = 0, l = strings.length; i < l; i++){ 10 11 result += strings[i]; 12 result += values[i]; 13 } 14 15 result += strings[strings.length-1]; 16 return result; 17 18 }; 19 20 console.log(finalStr); 21 22 //我今天要吃的东西是Apple和Banana。undefined。
方法名后面直接跟字符串是什么语法?
showTpl `我今天要吃的东西是${str1}和${str2}。`
求题主科普,谢谢啦
strings.length === values.length + 1
所以你在拼接的时候应该注意 values 下标访问越界
for(var i = 0, l = strings.length; i < l; i++){
result += strings[i];
result += values[i]; // 这里出错了,因为 i < strings.length,values.length小于strings.length,因此出现undefined
}
本人最近建立了开源项目usuallyjs,非常欢迎楼主一起交流,github地址:https://github.com/JofunLiang/usuallyjs,别忘了start哦.