🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

JavaScript 函数定义

主要定义方式

1. 函数声明(函数语句)

2. 函数表达式

3. IIFE (立即调用函数表达式)

4. 箭头函数(ES6新增)

5. 函数生成器声明和表达式(ES6新增)

函数定义的关键特性

示例


img

JavaScript 函数定义

JavaScript 函数是通过 function 关键字定义的可重复执行代码块,是 JavaScript 中的基本构建单元。以下是 JavaScript 函数的定义方式和相关特性:

主要定义方式

1. 函数声明(函数语句)

这是最传统的函数定义方式,语法如下:

function name([param1, param2, ..., paramN]) {
  // 函数体
}

示例:

function displayMessage() {
  alert("Hello World!");
}

特点:

  • 函数声明会被提升(hoisting),可以在定义之前调用
  • 函数名是必需的
  • 适用于需要在代码中多次使用的函数

2. 函数表达式

函数表达式是将函数作为表达式赋值给变量,语法如下:

var functionName = function([param1, param2, ..., paramN]) {
  // 函数体
};

示例:

var multiply = function(a, b) {
  return a * b;
};

特点:

  • 无提升,不能在定义前调用
  • 可以是匿名函数(如上例)
  • 可以是具名函数表达式(在堆栈跟踪中显示函数名)
  • 常用于 IIFE(立即调用函数表达式)

3. IIFE (立即调用函数表达式)

在函数声明后立即调用的函数表达式:

(function() {
  // 代码
})();

示例:

(function() {
  console.log("This function runs immediately!");
})();

4. 箭头函数(ES6新增)

语法简洁,省略了 function 关键字,使用 => 符号:

const name = (param1, param2, ...) => {
  // 函数体
};

示例:

const multiply = (a, b) => a * b;

特点:

  • 无独立的 this 绑定(继承自外层作用域)
  • 不能作为构造函数使用
  • 不支持 arguments 对象
  • 不支持 yield 语句
  • 不支持命名函数表达式

5. 函数生成器声明和表达式(ES6新增)

用于创建生成器函数,可以暂停和恢复执行:

function* name([param1, param2, ..., paramN]) {
  // 生成器函数体
}

示例:

function* counter() {
  let i = 0;
  while(true) {
    yield i++;
  }
}

函数定义的关键特性

  1. 函数是头等对象:在 JavaScript 中,函数是第一类对象,可以像其他对象一样具有属性和方法。

  2. 函数参数

    • 默认按值传递(基本类型)
    • 对象类型参数的修改会影响外部作用域
  3. 函数返回值

    • 使用 return 语句返回值
    • return 语句的函数默认返回 undefined
  4. 作用域

    • 函数内声明的变量为局部变量
    • 函数外声明的变量为全局变量
    • 通过闭包机制,内部函数可以访问外部函数变量
  5. 函数提升

    • 函数声明会被提升到作用域顶部
    • 函数表达式不会被提升

示例

无参数函数:

function greet() {
  console.log("Hello, world!");
}
greet(); // 调用函数

带参数函数:

function add(a, b) {
  return a + b;
}
console.log(add(3, 5)); // 输出 8

箭头函数示例:

const square = x => x * x;
console.log(square(4)); // 输出 16

函数是 JavaScript 中的核心概念,掌握函数定义方式对于编写可重用、可维护的代码至关重要。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐