函数基础知识总结

---------函数
1. 重用
2. 维护
3. 参数
4. 返回值
--------创建函数
​ 1.声明式(可以先调用)

​ function foo(){};

​ 2. 表达式(不能先调用再创建)

​ let foo = function(){};

​ 3. 构造函数

​ let foo = new Function(){};

​ 4. 函数调用

​ function foo(){}

​ foo();
声明式可以先调用后声明(存在函数提升)

--------匿名函数: function(){} 没有名字的函数,通常作为callback;

​ 5. IIFE :立即执行函数;

  (function (){

    console.log(666);

  })();

​ 6. 参数:形参(形式参数),实参(实际参数);
function foo(a,b,c){ console.log(a + b);//3 console.log(c);//undefined } foo(1,2)
7. 函数的返回值,return 让函数调用完后,重新拿个变量保存,在函数外还可以使用内部的结果,
8. 使用return之后,其后面的语句不会再执行。
9. return每次只能返回1个值。

-------函数3要素:功能,参数,返回值

--------argument 伪数组对象保存实参

---------默认参数

---------不定参数 || 剩余参数 reset 参数,接收多余的没有形参接收的实参,是数组,可以使用数组的方法

​ 不定参数只能写在形参的最后

​ "..." 符号有两个作用,在数组里是展开运算符,拆散数组;在形参里是剩余参数
`function foo(a){
console.log(a); //1
console.log(arguments[0]);//1
console.log(arguments[1]);//undefined
console.log(arguments[2]);//undefined
}
foo(1);

function foo1(x,y = "hehe",z = "666"){//在没有实参的情况下才使用默认参数
console.log(x,y,z);
}
foo1("a");

function foo2(x,...rest){//rest以数组的形式保存
console.log(x,rest);
}
foo2("a","b","c","d","123");//a [ 'b', 'c', 'd', '123' ] -------解构 保持 = 左右两边相同的数据类型,把复杂数据类型里的值拆分let arr = [1,2];
let [a,b] // a,b => 1,2
console.log(a,b);//1,2

function fn([a,b]){
console.log(a,b);//[1,2]
}
console.log([1,2]);

function fn1(){
let a = 1,b = 2;
return [a,b];
}
// let result = fn1()
// console.log(result);//[1,2]
let [x,y] = fn1();
console.log(x,y);//1,2

// if(!max){
// [min,max] = [0,min];
// }`
---------箭头函数:
​ let foo = () => {}

  1. 如果函数体内只有一个ruturn语句, return关键字省略,{}省略。

  2. 如果有且一个形参,()省略

  3. 没有自己的this。

posted on 2020-12-26 13:33  wpwp123  阅读(758)  评论(0)    收藏  举报