当前位置: 首页 > news >正文

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
http://www.jsqmd.com/news/1133183/

相关文章:

  • IS31FL3731 LED驱动芯片与PIC18F47K40微控制器的应用指南
  • AMD Ryzen调试神器SMUDebugTool:免费开源硬件性能调优终极指南
  • 快递批量查询的底层逻辑:从规则识别到并发架构的技术演进
  • 告别手动翻资料:用 Agent Plan 搞定销售档案与问答
  • WarcraftHelper:让经典魔兽争霸III在现代电脑上重获新生的终极指南
  • 工业4-20mA电流环技术与XTR116芯片应用指南
  • PCF8591与PIC18F55K42的工业级信号处理方案
  • 5四路视频接入国产软硬件兼容步态布控预警与人体抑郁指数分析成套技术白皮书
  • MC6470与PIC18LF45K22的6DOF姿态控制系统设计
  • MIC1557与MKV42F128VLH16构建高精度定时系统方案
  • 工业4-20mA电流环与XTR116变送器设计指南
  • 工业4-20mA电流环技术优化与DAC161S997应用
  • 【电赛/毕设降维打击】抛弃玩具直流电机!大疆 Robomaster (M3508/M2006) CAN 总线组网与多闭环硬核避坑指南
  • STM32F746VG与AD5593R混合信号IO开发实战
  • 汽车电子智能散热方案:DRV8213与模糊PID温控实践
  • AI漫剧制作全流程:从文生图到视频合成的开源方案实践
  • KMR221数字电位器与PIC18F2553实现精密电压控制方案
  • Sunshine完全卸载指南:从游戏流媒体主机到系统净化的技术探险
  • 操作系统页面置换算法:FIFO、LRU、OPT 3种算法缺页率对比与Python模拟
  • 题解:P10647 [NordicOI 2023] Ice Cream Machines
  • AMD Ryzen终极调试指南:SMUDebugTool从入门到精通
  • 10大开源AI Agent开发平台横向评测与实战部署指南
  • 4-20mA电流环设计与XTR116智能变送器实现
  • 146、Prompt 优化迭代:用 DSPy 思路让 LLM 自己调自己的提示词
  • 如何免费解锁Wand游戏修改器完整功能:终极指南
  • AD5593R与STM32F303ZE硬件协同设计与优化实践
  • 让看牙不再紧张:皓贝一口腔医院的舒适化方案
  • Coze × Hermes Agent:合体之后的应用前景与实战案例
  • 3分钟快速上手:Sunshine开源游戏流媒体服务器终极指南
  • 终极Alienware控制指南:如何用500KB轻量工具替代臃肿的AWCC