1. 为什么要使用函数?
使用函数进行编程的好处主要体现在两点:
1)代码复用:当某部分代码需要反复执行或在多个项目中使用时,可以通过封装函数来减少重复的代码量;
2)代码分工:当某一个程序需要多人协作开发,可以通过封装函数来进行功能的划分,从而达到分工合作的效果;
2. 创建函数的方式主要有哪几种,它们的区别是什么?
创建函数的方式主要分为声明式函数和函数表达式,其中声明式函数存在函数提升,而函数表达式没有。
3. 什么是函数提升?
跟变量提升一样,在浏览器编译代码的阶段,除了查找所有 var 声明的变量以外,还会查找所有声明式函数,并将他们提升到当前作用域头部,这个过程就是函数提升。
4. 函数参数的分类
函数的参数分为两种:实参和形参。
- 实参:实际参数,在函数调用时传递的实际数据;
-
5. ES6 中新增了哪些与函数有关的内容。
函数参数的默认值;
- 不定参数;
-
6. 简述不定参数和 arguments 的作用,及其区别是什么?
不定参数和 arguments 都是用于管理函数的实参。
不定参数用于接收所有没有对应形参的实参,arguments 用于接收所有实参;
-
7. 箭头函数在哪些情况下可以简写?
当形参只有一个时,箭头函数的小括号 () 可以省略;
- 当函数内部只有一句 return 语句时,可以省略大括号和 return 关键字;
8. return 关键字在函数中有什么作用?
1)设置函数的返回值;
2)终止函数的执行;9. 什么是回调函数?
回调函数,指的是一个被作为参数传递给另一个函数的函数。10. 什么是 IIFE ?
IIFE:Immediately Invoked Function Expression,意为立即调用的函数表达式,也就是说,声明函数的同时立即调用这个函数。11. 什么是递归函数?
递归函数,指的是在函数内部调用自身的函数。如果没有设置出口,则会导致无限递归。