函数参数与返回值,模板字面量与模板函数
发布于:2022-05-03 12:40:11
次阅读
1.函数参数与返回值
let f = (a,b)=>a+b; console.log(f(1,2)); // 3 console.log(1); // NaN : not a number // 1.参数不足:默认参数 f = (a,b=0)=>a+b; // 默认形参 b = 0 console.log(f(1,2)); // 3 // 2.参数过多: ...剩余参数 f =(a,b)=>a+b; console.log(f(1,2,3,4)); // 3 // 如何将全部参数接受到?剩余参数 ... f = (a, b, ...c)=>console.log(a,b,c); // 将多出来的参数3,4压入到数组c中 console.log(f(1,2,3,4)); //1,2,[3,4] let arr = [1,2,3,4,5]; //将一个数组打散,变成一个个离散的值,解包 console.log(...arr); // 1,2,3,4,5 // 压包 console.log(f(...arr)); // 1,2,[3,4,5] //多个参数求值 // f = (a,b,c,d,e,f)=>a+b+c+d+e+f ,* / - 可以举一反三 f = (...arr) => arr.reduce((a,c)=>(a+c)) // a+c a*c a/c a-c console.log(f(1,2,3,4,5,6,7,8,9,10)); //返回值:函数只能有一个返回值,默认单值返回 //需要返回多个值怎么办?数组,对象 //本质上仍然返回一个值,只不过这是一个引用类型的复合值 // function fn() { // return [1,2,3]; // } // 对象和函数的{}重复冲突时,可({})这样来书写 fn = () =>({ id:2, name:'admin', age:18 }) res = fn(); console.log(res);
2 .模板字面量与模板函数
//模板都是用``反引号 // 1.模板字面量 // 反引号:模板字面量, 支持在字符串插入变量/表达式: 插值 // 变量/表达式: 在模板字面量,使用 '${xxx}'来引用,就是一个占位符 let name = "通天教主"; console.log(`Hello ${name}`); // Hello 通天教主 // 模板函数 // 使用模板字面量为参数的函数 // alert("Hello php.cn"); // alert`Hello php.cn`; calc`数量:${10}单价:${50}`; // 模板函数的参数: // 第一个参数: 模板字面量中的"字符串字面晨" // 第二个参数: 模板字面量中的"插值"数组 function calc(strings, ...args) { // string返回数组为什么会有个空格呢? console.log(strings); // ['数量:', '单价:', ''] 为什么会有个空格呢? console.log(args); // [10, 50] console.log(args[0] * args[1]); // 500 } // * 模板字面量: 可以使用插值表达式的字符串 // * 模板函数: 可以使用"模板字面量"为参数的函数 // * 模板函数,就是在"模板字面量"之前加一个标签/标识符,而这个标签,就是一个函数名 // * 模板函数的参数是有约定的, 不能乱写, 第一个是字面量数组,从第二起才是内部的占位符参数
老师,请教我一下,为什么模板函数的字面量数组返回会有一个空格呢?