您的位置:首页 > 博客中心 > 互联网 >

函数基础知识总结

时间:2022-05-11 07:36

---------函数
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。

本类排行

今日推荐

热门手游