尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

1. JS函数

1. JS函数
📅 发布时间:2026/7/6 6:55:25

1.函数简介

函数【function】,函数你可以理解为将某一个常用的功能进行封装。当你想使用这个功能的时候,可以选择调用、执行这个功能即可。

注意:JavaScript脚本语言当中,函数分为两种:一种关键字function定义函数、表达式形式函数 函数使用分为两部分:声明、调用
//声明部分functionfun(){....书写代码地方}//调用部分fun();
<script type="text/javascript">//声明部分functionfun(){//书写你封装功能性代码console.log("我是一枚大帅哥");console.log("虽然不是真的");}//调用部分fun();fun();fun();//函数在JS当中属于引用类型数据console.log(typeoffun);</script>
函数使用分为两部分:声明、调用 函数在JS当中属于Object引用类型数据,不是Function类型的【因为JS语言当中没有这个类型】 函数如果只是声明、但是没有调用。函数体里面代码不会自行的

2.形参与实参

在函数声明的时候,声明部分的小括号里面可以书写形参。
在函数调用的时候,调用时候传递数据称之为实参

<script type="text/javascript">//声明一个关键字形式函数functionadd(a,b){console.log(a,b);}//调用函数的时候add("小明","小白");</script>

注意:用户调用函数的时候,会将实参按照顺序依次赋值给形参。

实参数量可多于 / 少于形参,JS 不会报错(和 Java 强类型不同)

functiontest(x,y){console.log(x,y);}test(5);// x=5,y=undefined

实参多于形参(多余实参存放在 arguments 伪数组)

functiontest(x){console.log(arguments);// [1,2,3] 保存所有传入实参}test(1,2,3);

3.变量

变量:在JS当中变量分为两种:局部变量、全局变量

局部变量:在JS当中局部变量,只有两种情况:①作为函数形参 ②变量在函数体中声明

全局变量:除了局部变量以外的都是全局变量

4.return 关键字

4.1 基础作用
终止当前函数:执行到return,函数立刻停止,后面代码不再运行; 返回一个值:把结果交给函数调用处; 函数不写return,默认returnundefined。

示例 1:返回计算结果

functionadd(a,b){returna+b;// 返回两数之和}let res=add(3,5);console.log(res);// 8

示例 2:return 直接终止函数,后续代码不执行

functiontest(){console.log("执行前");return;// 函数终止console.log("不会执行");}test();
4.2 return 无返回值 → undefined
functionfn(){return;}console.log(fn());// undefinedfunctionfn2(){}console.log(fn2());// 不写return也是undefined
4.3 return 返回复杂数据(对象、数组)
functiongetUser(){// 返回对象return{name:"李四",age:20};}letuser=getUser();console.log(user.name);// 李四
4.4 函数内部提前 return 做拦截(常用校验)
functioncalc(num){// 拦截:非法数字直接返回,不往下计算if(typeofnum!=="number"){return"参数必须是数字";}returnnum*2;}console.log(calc("abc"));// 参数必须是数字console.log(calc(10));// 20

相关新闻

  • 快递批量查询的底层逻辑:从规则识别到并发架构的技术演进
  • 工业4-20mA电流环技术与XTR116芯片应用指南
  • 5四路视频接入国产软硬件兼容步态布控预警与人体抑郁指数分析成套技术白皮书

最新新闻

  • Java SE基础课程(上)-Day01笔记总结(B站heima阿玮老师)
  • Donau集群MPI作业提交指南:sbatch --mpi参数深度解析
  • EndBASIC 0.14 发布:新增多媒体功能,为迈向 1.0 版本扫清障碍!
  • RePKG深度剖析:Wallpaper Engine资源解包与纹理转换的终极解决方案
  • Windows计划任务权限提升漏洞挖掘与防御实战指南
  • 微软Frontier Company深度解析:25亿美元FDE部署革命如何重塑AI商业化格局

日新闻

  • AI智能体安全防护框架AgentGuard:从原理到实战部署指南
  • KMX63与PIC18F26K40硬件组合及低功耗设计实践
  • 基于YOLO13改进的门体检测模型:C3k2模块与PoolingFormer技术解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号