尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
副队长JavaScript教程(37)-揭开JS函数的面纱
点此查看所有教程、项目、源码导航文章目录1. 背景2. 揭开 JS 函数的真面目3. 函数的调用4. 小结1. 背景上一篇我们理解了函数的定位它是用来复用经验的载体。当时我们分析得出一个函数有两大核心部分函数名、函数体。函数名用来区分是什么经验比如是开车的经验还是网购的经验函数体里面存放这件事一步步的操作流程。顺着这个思路我们当时猜想函数大概长这样这是一个函数:开车{console.log(1.打开车门);console.log(2.系好安全带);console.log(3.启动车辆);console.log(4.踩油门开始驾驶);}但是我们并不是 JS 语言的设计者不能自己规定语法。而且 JS 是国外创造的语言自然不会用 “这是一个函数” 这种中文标识。这一篇我们就来看 JS 里面标准的函数写法。2. 揭开 JS 函数的真面目同样以开车这个例子JS 里正确定义函数的代码是这样functiondriveCar(){console.log(1.打开车门);console.log(2.系好安全带);console.log(3.启动车辆);console.log(4.踩油门开始驾驶);}我们拆开每一部分来讲function是 JS 的关键字专门用来告诉浏览器接下来我们要定义一个函数了。driveCar这就是函数名。一个项目里会写很多函数给它起名字方便我们区分比如开车、计算加法、打印提示。命名尽量见名知意。()函数名字后面必须带上一对小括号这是函数的标志性特征。后面的课程我们会学到这个括号还有传递数据的能力。{}包裹起来的内容就是函数体里面写我们要封装的所有步骤代码。核心还是我们上一篇说的两点函数名用来标记是什么经验函数体存放经验的具体步骤。3. 函数的调用我们积累经验最终目的就是拿来使用。在编程里使用函数专业叫法是调用函数。先看没有函数的时候如果要教三个人开车我们只能重复写三遍完整流程// 教第1个人开车{console.log(1.打开车门);console.log(2.系好安全带);console.log(3.启动车辆);console.log(4.踩油门开始驾驶);}// 教第2个人开车{console.log(1.打开车门);console.log(2.系好安全带);console.log(3.启动车辆);console.log(4.踩油门开始驾驶);}// 教第3个人开车{console.log(1.打开车门);console.log(2.系好安全带);console.log(3.启动车辆);console.log(4.踩油门开始驾驶);}有了函数之后逻辑就不一样了我们先一次性把开车流程定义好之后每需要一次就调用一次。// 定义函数相当于把开车的经验提前写好存起来functiondriveCar(){console.log(1.打开车门);console.log(2.系好安全带);console.log(3.启动车辆);console.log(4.踩油门开始驾驶);}// 教第1个人开车driveCar();// 教第2个人开车driveCar();// 教第3个人开车driveCar();写driveCar();就是调用这个函数每写一次里面的步骤就执行一遍。这里有一个非常关键的知识点只定义函数的时候函数里面的代码不会运行仅仅是保存这套流程。只有当我们写代码调用它的时候函数体里面的代码才会执行。4. 小结函数给我们带来的好处就是把一套固定的操作提前封装好。以后再需要做这件事不用重复抄写一大堆代码直接调用函数就可以。程序员不需要反复去写重复的步骤只需要封装一次随时取用这就是代码复用的魅力。预告现在这个开车函数是固定不变的下一篇我们学习参数让函数变得更灵活比如可以区分是学手动挡还是自动挡。
RELATED

相关推荐

vs 2022与GitHub同步

vs 2022与GitHub同步

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/27 9:23:01
副队长JavaScript教程(38)-函数的参数与返回值

副队长JavaScript教程(38)-函数的参数与返回值

点此查看 所有教程、项目、源码导航 文章目录1. 背景2. 什么是参数(形参和实参)3. 参数数量不匹配的情况4. 什么是返回值 return5. return 的重要特点6. 重点区分:return 和 console.log7. 综合小案例8. 小结1. 背景 上一篇我们学会了函数的…

📅 2026/10/27 9:23:01
副队长JavaScript教程(41)-函数的应用案例

副队长JavaScript教程(41)-函数的应用案例

点此查看 所有教程、项目、源码导航 文章目录1. 背景2. 案例实现思路3. 代码实现4. 运行输出5. 重点拆解里面的核心知识点6. 拓展思考(可以自己尝试改造)7. 小结1. 背景 前面我们已经把函数的基础知识点全部学完:定义调用、参数、返回值、作…

📅 2026/10/27 9:23:01
MORE NEWS

更多资讯

📰

Genkit skills本质解析:可编排的LLM能力契约单元

1. 这个“skills”到底指什么?别被热搜词带偏了方向 最近刷技术社区、开发者论坛,甚至朋友圈里都频繁跳出“skills”这个词——不是英文单词本意的“技能”,而是某种具体可安装、可调用、可配置的实体模块。它和 Gemini、GKE、Genkit、Googl…

📰

MonitorControl 快速上手:3 分钟找回外接显示器的亮度与音量快捷键

MonitorControl 快速上手:3 分钟找回外接显示器的亮度与音量快捷键 【免费下载链接】MonitorControl 🖥 Control your displays brightness & volume on your Mac as if it was a native Apple Display. Use Apple Keyboard keys or custom shortcut…

📰

【跑包网】wifi握手包跑包网站 cap在线分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

CNN为何在MNIST上远超全连接网络?局部感受野与权值共享的数学本质

简介:本资源是一份面向深度学习初学者与实践者的MNIST手写数字识别完整项目包,聚焦神经网络与卷积神经网络(CNN)在图像分类任务中的落地应用。项目基于TensorFlow框架,涵盖数据加载、CNN模型构建、训练调优、性能评估及…

📰

大模型应用开发入门:吴恩达课程提示工程、RAG与避坑指南

简介:面向希望快速上手大模型与人工智能应用开发的开发者,这是一份完整中文化吴恩达大模型系列课程并复现范例代码的入门教程,适合具备基础 Python 知识、希望系统学习 LLM 开发流程的技术人群。内容围绕提示工程、检索增强生成、函数调用等课…

📰

NVMe Write Zeroes及周边命令:语义、命令帧与实测坑

盘一台机器上的盘,最容易被忽略的往往不是读带宽、写带宽这些跑分指标,而是“这块区间我想让它变成干净的零”这类管理动作。几年前给一批测试机做批量镜像还原,脚本里老老实实地用dd往整盘灌/dev/zero,一块 1.6 TB 的企业级盘要跑…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬