HoRain云--JavaScript函数定义全攻略
本文介绍了JavaScript函数的定义方式和特性。主要内容包括:1. 五种函数定义方式:函数声明、函数表达式、IIFE、箭头函数和函数生成器;2. 函数的关键特性:作为头等对象、参数传递机制、返回值规则、作用域和函数提升;3. 具体示例演示各种定义方式的使用。文章强调函数是JavaScript的核心概念,掌握其定义方式对编写可重用、可维护代码至关重要。适合JavaScript初学者系统学习函数基

🎬 HoRain云小助手:个人主页
🔥 个人专栏: 《Linux 系列教程》《c语言教程》
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
专栏介绍
|
专栏名称 |
专栏介绍 |
|
本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。 |
|
|
本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制! |
|
|
全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。 |
|
|
本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。 |
|
|
本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。 |
|
|
本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等) |
目录

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++;
}
}
函数定义的关键特性
-
函数是头等对象:在 JavaScript 中,函数是第一类对象,可以像其他对象一样具有属性和方法。
-
函数参数:
- 默认按值传递(基本类型)
- 对象类型参数的修改会影响外部作用域
-
函数返回值:
- 使用
return语句返回值 - 无
return语句的函数默认返回undefined
- 使用
-
作用域:
- 函数内声明的变量为局部变量
- 函数外声明的变量为全局变量
- 通过闭包机制,内部函数可以访问外部函数变量
-
函数提升:
- 函数声明会被提升到作用域顶部
- 函数表达式不会被提升
示例
无参数函数:
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 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
更多推荐


所有评论(0)