函数表达式 匿名表达式 const 函数名 = function(){ 语句; }
命名函数表达式 const 函数名 = function bye(){ 语句; }
箭头函数 const 函数名 = () =>{console.log()}
返回值: 所有函数都有返回值 显示指定返回值用return 没有显示指定,返回undefined
参数 let add = function(形参){ return 条件; }; add(实参); 注:函数调用时,没有给形参提供实参,函数依然会被调用,值就是undefined 实参比形参多,函数依然会被调用
真数组 let add = function(…number){ let sum = 0; for(const hum of number){ sum = sum +num; } return sum; } console.log(add(1,2,3,4));
默认参数 let hello = functtion(name = “world”){ console.log(hello ${name}!); } hello(); hello(javascript); 铁律:默认形参应该总是出现在非默认形参之后,否则默认值级必须总是要输入。
箭头函数 let add = function(x,y){ return x+y; }; let add = (x,y) => {return x+y};
如果只有一个参数,可以不用括号。只有没有参数或多个参数需要括号 不带参数 let add = () => {return “hello”}; console.log(add()); 不带参数 let add = x => {return x + 1}; console.log(add(1)); 多个参数 let add = (a,b) => {return a+b}; console.log(add(1,2));
注:箭头函数不能使用arguments、super、new.target,也不能用作构造函数。箭头函数没有prototype属性
回调:传递给另一个函数作为实参的函数
回调的应用 数组排序 Array.sort() 如果调用时没有使用参数,将按照字母顺序对数组中的元素进行排序 有参数时 若a小于b,a应该出现在b之前,则返回一个小于0的值 若a等于b,则返回0 若a大于b,则返回一个大于0的值
forEach() 作用:对数组中每个元素执行一次给定的函数
map() 作用:创建一个数组,该数组中的每一个元素是调用一次提供的函数后的返回值
reduce() 作用:对数组中的每一个元素执行一个提供的reducer函数(升序执行),将其结果汇总为单个返回值
filter() 作用:创建一个新数组,其包含通过所提供函数实现的测试的所有元素
链式迭代器:所有迭代器都返回一个数组,这就意味着可以把另一个迭代器函数链在末尾,并将其应用到新数组上
