Skip to content

基础汇总3

1. 函数声名和函数表达式有什么区别

js
// 函数声明
function functionName(parameter1, parameter2, ...) {
  // ...
}

// 函数表达式
const functionName = function(parameter1, parameter2, ...) {
  // ...
};
特性函数声明函数表达式
提升是,提升到作用域顶部否,不提升,仅在定义所在的块级作用域内有效
命名空间在全局或函数作用域内创建具有相同名称的标识符不创建标识符,因此不会与其他变量或函数冲突
递归可以直接调用自身需要先将函数表达式赋值给变量
严格模式参数不能省略,必须定义参数名参数可以省略,可以使用默认值
代码风格通常用于定义全局函数或在函数开头定义函数通常用于定义函数内部需要使用的辅助函数