批改状态:合格
老师批语:
// 1. 参数一一对应function name(参数) {return 返回值}console.log(name(值));
function name(username = 'world'){return 'hello.'+username;}console.log(name());
‘…’ 用在函数参数中,可以将参数压缩到数组里 ; 用在函数调用,可以展开数组;
// 将多余的参数,全部压入到一个数组里function name(...arr){for (let item of arr){console.log(item);}return arr;}console.log(name('张三','李四','王五'));console.log(...['赵','钱','孙']);
const f = () => [1,2,3];console.log(f());
const o = () => {return {a:1,b:2,c:3,}}console.log(o());// 返回一个值,可以简写const obj = () => ({a:1,b:2,c:3,})console.log(obj());
对象属性,如果和外部变量同名,则可以省去值,自动用外部同名进行初始化
对象方法,将’: function’去掉,不要用箭头函数
let age = '18';console.log(age);let y_name = '张三';let user ={age,y_name,// 方法简写 : 将': function'去掉getNameAge(){return this.y_name +':'+this.age;}}console.log(user.age);console.log(user.getNameAge());
console.log('hello,world');// hello,world : 字符串// hello,username : 模板字符串// 如果一个字符串中,存在"占位符",则成为"模板字符串"// 占位符 : 插值/表达式/变量// 插值之外的字符串 : 字面量// 用反引号 : 声明模板字符串let name = '老师';console.log(`hello.${name}`);
模板函数的声明与普通函数是一样的,只是调用时,使用”模板字面量”作为参数
function total(参数1, 参数2){}
参数1: 必须是当前模板字面量参数中的字符串字面量组成的数组
参数2: 第二个参数必须是一个或多个模板字面量中插值列表
function total(strings, ...args) {console.log(strings);console.log(args);}let name = '手机';let num = 10;let price = 500;total`名称: ${name}, 数量:${num},单价:${price}`;
函数外部变量 : 自由变量
fn = function(a){let f = function(b){return a + b;}return f;}console.log(fn(20)(10));
应用 : 偏函数(高阶函数)
fn = function(a){return function(b){return function(c){return a+b+c;}}}// 将参数分多次传入函数,柯里化// 将后端返回的数据分块处理console.log(fn(1)(2)(3));代码简化 : 箭头函数fn1 = d =>e =>f =>d+e+f;console.log(fn1(1)(2)(3));
将外部自由变量,通过参数传入到函数中,而不是在函数中直接引用
let a = 'hello';let b = 'world';function hello(c,d){return c + d;}console.log(hello(a,b));
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号