news 2026/7/6 6:35:32

1. JS函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1. JS函数

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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 6:34:34

AMD Ryzen硬件调试工具专家级实战:SMUDebugTool完整解决方案

AMD Ryzen硬件调试工具专家级实战&#xff1a;SMUDebugTool完整解决方案 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…

作者头像 李华
网站建设 2026/7/6 6:32:26

基于Si4732的高保真AM/FM收音机系统设计与优化

1. 项目概述&#xff1a;构建高保真AM/FM收音机系统在数字音乐流媒体盛行的时代&#xff0c;传统广播依然保持着独特的魅力——无需网络连接、实时新闻更新、突发应急广播以及那份偶然调频发现新电台的惊喜。这个项目将使用Si4732收音机芯片与PIC18F46K40微控制器&#xff0c;打…

作者头像 李华
网站建设 2026/7/6 6:28:44

抖音视频轻松下载:3分钟搞定无水印高清视频的终极指南

抖音视频轻松下载&#xff1a;3分钟搞定无水印高清视频的终极指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…

作者头像 李华
网站建设 2026/7/6 6:27:55

BLEU/ROUGE/Perplexity/F1 Score

针对四种评估方法&#xff0c;按照“内部机理 → 适用场景 → 本质优劣”的顺序逐一拆解&#xff0c;最后再做一个多维度硬核对比&#xff0c;帮你彻底理清它们的区别。1. BLEU&#xff08;双语评估替补&#xff09;出身&#xff1a;最初为机器翻译设计&#xff08;IBM提出&…

作者头像 李华
网站建设 2026/7/6 6:27:39

如何让老款Mac免费升级到最新macOS:OpenCore Legacy Patcher终极指南

如何让老款Mac免费升级到最新macOS&#xff1a;OpenCore Legacy Patcher终极指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为心爱的老款Mac电…

作者头像 李华