news 2025/12/22 8:56:21

函数介绍及使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
函数介绍及使用

函数
一、为什么需要函数?
function,是被设计为执行特定任务的代码块
说明:
函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用。
比如我们前面使用的 alert() 、 prompt() 和 console.log() 都是一些 js 函数,只不过已经封装好了,我们直接使用的
二、函数使用
(1)先声明,再调用


注意:声明(定义)的函数必须调用才会真正被执行,使用 () 调用函数
曾经使用的 alert() , parseInt() 这种名字后面跟小括号的本质都是函数的调用
(2)函数名命名规范
Ø 和变量命名基本一致
Ø 尽量小驼峰式命名法
Ø 前缀应该为动词
Ø 命名建议:常用动词约定


三、函数传参
若函数完成功能需要调用者传入数据,那么就需要用有参数的函数
这样可以极大提高函数的灵活性
(1)声明语法
参数列表
Ø 传入数据列表
Ø 声明这个函数需要传入几个数据
Ø 多个数据用逗号隔开


(2)调用语法
调用函数时,需要传入几个数据就写几个,用逗号隔开


●形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数)
●实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)
●形参可以理解为是在这个函数内声明的变量(比如 num1 = 10)实参可以理解为是给这个变量赋值
●开发中尽量保持形参和实参个数一致
●曾经使用过的 alert('打印'), parseInt('11'), Number('11') 本质上都是函数调用的传参
(3)函数传参-参数默认值


说明:这个默认值只会在缺少实参参数传递时 才会被执行,所以有参数会优先执行传递过来的实参, 否则默认为undefined
四、函数返回值
函数是执行特定任务的代码块
有返回值函数的概念:
Ø 当调用某个函数,这个函数会返回一个结果出来
Ø 这就是有返回值的函数

当函数需要返回数据出去时,用return关键字
格式:return 数据
细节:
Ø 在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
Ø return 后面代码不会再被执行,会立即结束当前函数,所以 return 后面的数据不要换行写
Ø return函数可以没有 return,这种情况函数默认返回值为 undefined


函数细节补充
●两个相同的函数后面的会覆盖前面的函数
●在Javascript中 实参的个数和形参的个数可以不一致
●如果形参过多 会自动填上undefined (了解即可) 如果实参过多 那么多余的实参会被忽略 (函数内部有一个arguments,里面装着所有的实参)
●函数一旦碰到return就不会在往下执行了 函数的结束用return
五、作用域
通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。


变量的访问原则
●只要是代码,就至少有一个作用域
●写在函数内部的局部作用域
●如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域
●访问原则:在能够访问到的情况下 先局部, 局部没有在找全局
六、匿名函数
没有名字的函数,可以通过以下两种方法使用


(1)函数表达式


使用函数表达式和具名函数的区别:
具名函数的调用可以写在任意位置,但函数表达式必须先声明,再调用
(2)立即执行函数
场景介绍: 避免全局变量之间的污染,不需要调用,可以立即执行


注意: 多个立即执行函数要用 ; 隔开,要不然会报错
●写法一


●写法二


七、逻辑中断
(1) 逻辑运算符里的短路
●短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行


●原因:通过左边能得到整个式子的结果,因此没必要再判断右边
●运算结果:无论&&还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值

本周学习了JS基础,并学习了一部分Web-APIs,感觉就是把HTML和CSS以及JAVA中的部分内容结合了一下,感觉挺有意思,难度不大,主要是写代码的时候要细心,要熟练掌握语法,下周将继续学习APIs

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

Unity ReferenceFinder插件 多选资源查找bug解决

GitHub地址 当选中多个资源 查找引用时,有的资源引用不显示,解决方法: 把ReferenceFinderWindow脚本原来的 while(stack.Count > 0) { … if (!memo.ContainsKey(current[0])) { … } } 替换为下面这段。 // 替换原来的 while(stack.Cou…

作者头像 李华
网站建设 2025/12/14 21:10:21

AI 工具实战测评:它们到底是“生产力工具”,还是“智商税”?

这两年 AI 工具的数量,已经多到有点离谱了。 从写代码、写文档,到做 PPT、画流程图,几乎每个环节都能塞进一个 AI。问题也随之而来: 这些工具真的能提高效率吗?还是只是“看起来很厉害”?这篇文章不聊概念、…

作者头像 李华
网站建设 2025/12/14 21:05:59

感应电机转子磁场定向FOC仿真与异步电机调速控制仿真那些事儿

感应电机转子磁场定向FOC仿真,异步电机调速控制仿真。 电机参数是山河智能SWFE15型起重量1.5吨电动叉车使用的实际电机。 采用转速电流双闭环,防饱和PI调节器,SVPWM发波,通过iq电流查表实现简单的弱磁控制。 测试工况涵盖带负载启…

作者头像 李华
网站建设 2025/12/14 21:03:04

day33(12.14)——leetcode面试经典150

150. 逆波兰表达式求值 150. 逆波兰表达式求值 题目: 题解: class Solution {public static boolean isNumeric(String str) {return str ! null && str.matches("-?\\d");}public int evalRPN(String[] tokens) {//将数字放在一个…

作者头像 李华
网站建设 2025/12/14 21:00:54

vue基于Spring Boot的减肥健身养生人士饮食营养管理系统_5gn4225x

目录 具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring…

作者头像 李华
网站建设 2025/12/14 20:56:13

昇腾CANN从单算子到融合优化实战

目录 1 摘要 2 技术原理 2.1 架构设计理念解析 2.2 核心算法实现 2.2.1 三级流水线设计原理 2.2.2 Tiling策略与数据重用 2.3 性能特性分析 2.3.1 理论性能模型 2.3.2 实测性能数据 3 实战部分 3.1 完整可运行代码示例 3.2 分步骤实现指南 步骤1:环境配…

作者头像 李华