js,一个函数后面不加括号(),为什么也可以传参?这是什么语法?
var name='jjj';
var todo='shopping';
function hightlight(strings, ...values){
console.log(strings);
console.log(values);
}
var sentence=hightlight(`${name} is going to ${todo}`);
console.log(sentence);
// jjj is going to shopping
// Array(0)
// 这里理解没问题
var sentence=hightlight`${name} is going to ${todo}`;
console.log(sentence);
// Array(3)
// 0: ""
// 1: " is going to "
// 2: ""
// Array(2)
// 0: "jjj"
// 1: "shopping"
// 这里面为什么hightlight不加()也可以传参? 而且为什么这样写可以把字符串和变量字符串区分开?
这里面为什么hightlight不加()也可以传参? 而且为什么这样写可以把字符串和变量字符串区分开?
百度搜索过,没找到答案。搜出来的都是“括号里面把函数作为参数”
https://developer.mozilla.org...