[JS]函数

介绍

函数就是用来执行特点任务的代码块, 目的是实现代码复用, 提高开发效率

使用

1.0函数的声明
function 函数名 () {
  //函数体
}
2.0函数的调用

3.0命名规范
  1. 和变量命名规则基本一致
  2. 尽量小驼峰式命名
  3. 前缀应该为动词

传参

函数的参数可以极大提高函数的灵活性

1.0参数分类:

形参:形式参数,没有值,用来接收实参的值。

实参:实际参数,有值,用来给形参传递值。

2.0函数传参
// 声明一个有参数的函数
function( 形参1,形参2) {
     //函数体
} 

// 调用函数并传参
函数名(实参1,实参2)

注意:

  1. 在js中,如果有同名函数,后面的会覆盖前面的。
  2. 实参的个数可以和形参不一致:
  • 如果实参多余形参,多余的实参会被舍弃。
  • 如果形参多余实参,缺少的实参返回undefind。
  1. 实际开发中建议保持形参和实参一致
3.0默认参数

通过定义函数参数的默认值, 可以提高函数的健壮性

// 默认参数
function( 形参1 = 默认值) {
     //函数体
} 
  • 默认参数只会在缺少实参时生效
  • 函数参数缺少实参, 并且没有设置默认参数, 值就是undefined
  • 这也符合" 形参就是函数内部声明的变量 "观点, 变量声明不赋值就是undefined

返回值

函数的返回值可以进一步提高函数的扩展性, 使调用者可以拿到函数执行的结果

  1. 函数是否需要返回值, 要根据实际需求确定
  2. 函数中通过return关键字返回执行结果, 交给调用者使用
  3. 函数中只能有一个return, return之后的程序不再执行
  4. return只能返回一个值,可以通过数组或对象的方式,返回多个值。
  5. 函数的返回值默认是undefined

作用域

作用域决定代码生效的范围, JS把作用域划分为全局作用域和局部作用域, 这样做的目的是提高程序的可靠性,减少可能的代码冲突

  1. 全局作用域:
  • script标签内部
  • 独立的js文件
  1. 局部作用域:
  • 函数作用域(函数内部)
  • 块级作用域( { }范围内 )
  1. 只要是代码, 就至少存在一个作用域

作用域链

多个作用域相连就形成了作用域链, 作用域链决定变量生效的值, 变量的访问遵循就近原则, 先局部, 再全局

根据作用域不同, 变量分为全局变量和局部变量

  1. 全局变量: 可以在任何区域访问
  2. 局部变量: 只能在当前作用域内访

匿名函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/737725.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HTTP3(QUIC)详解

文章目录 一、HTTP3简述二、为什么不升级改造TCP而使用UDP?三、QUIC的实现四、HTTP3改进详解1. 快速连接建立(1-RTT初次建立,0-RTT恢复)2. 无队头阻塞(Head-of-Line Blocking)重传机制HTTP/2 中的流HTTP/3 中的流 3. 移…

PyTorch LSTM模型深度解析:参数设置全指南

本文主要依据 Pytorch 中LSTM官方文档 ,对其中的 模型参数 、 输入 、 输出 进行详细解释。 目录 基本原理 模型参数 Parameters 输入Inputs: input, (h_0, c_0) 输出Outputs: output, (h_n, c_n) 变量Variables 备注 基本原理 首先我们看下面这个LSTM图&am…

应届毕业之本科简历制作

因为毕设以及编制岗位面试,最近好久没有更新了,刚好有同学问如何制作简历,我就准备将我自己制作简历的流程分享给各位,到此也算是一个小的结束,拿了工科学位证书毕业去做🐂🐎了。 简历主要包含内…

# Kafka_深入探秘者(3):kafka 消费者

Kafka_深入探秘者(3):kafka 消费者 一、kafka 消费者、消费组 1、Kafka 消费者是消费组的一部分,当多个消费者形成一个消费组来消费主题时,每个消费者会收到不同分区的消息。假设有一个 T1 主题,该主题有…

Spring+SpringMVC+MyBatis整合

目录 1.SSM介绍1.1 什么是SSM?1.2 SSM框架1.2.1 Spring1.2.2 SpringMVC1.2.3 MyBatis 2.SSM框架整合2.1 建库建表2.2 创建工程2.3 pom.xml2.4 log4j.properties2.5 db.properties2.6 applicationContext-dao.xml2.7.applicationContext-tx.xml2.8 applicationContex…

移远通信SC200L(展锐SL8541E)Linux系统修改分区大小

一、确定大小 由于默认的根文件分区大小仅500M,/lib目录移植个app都放不进去,这谁受得了? userdata分区却有6G,匀一点。 在 prebuilts/pac-binary/sl8541e/ 下有分区信息表 sl8541e-emmc-marlin2.xml: 找到system项&a…

MyBatis-Plus常用注解详解与实战应用

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了大量的常用注解,使得开发者能够更方便地进行数据库操作。 MyBatis-Plus 提供的注解可以帮我们解决一些数据库与实体之间相…

高校新生如何选择最优手机流量卡?

一年一度的高考已经结束了,愿广大学子金榜题名,家长们都给孩子准备好了手机,那么手机流量卡应该如何选择呢? 高校新生在选择手机流量卡时,需要综合考量流量套餐、费用、网络覆盖、售后服务等多方面因素,以下…

怎么用Excel生成标签打印模板,自动生成二维码

环境: EXCEL2021 16.0 问题描述: 怎么用excel生成标签打印模板自动生成二维码 解决方案: 在Excel中生成标签打印模板并自动生成二维码,可以通过以下几个步骤完成: 1. 准备数据 首先,确保你的Excel表…

【PyTorch单点知识】神经元网络模型剪枝prune模块介绍(上)

文章目录 0. 前言1. 剪枝prune主要功能分类2. torch.nn.utils.prune中的方法介绍3. PyTorch实例3.1 BasePruningMethod3.2PruningContainer3.3 Identity3.4RandomUnstructured3.5L1Unstructured 4. 总结 0. 前言 按照国际惯例,首先声明:本文只是我自己学…

【AI大模型】驱动的未来:穿戴设备如何革新血液、皮肤检测与营养健康管理

文章目录 1. 引言2. 现状与挑战3. AI大模型与穿戴设备概述4. 数据采集与预处理4.1 数据集成与增强4.2 数据清洗与异常检测 5. 模型架构与训练5.1 高级模型架构5.2 模型训练与调优 6. 个性化营养建议系统6.1 营养建议生成优化6.2 用户反馈与系统优化 7. 关键血液成分与健康状况评…

Win11最适合打游戏的版本推荐:畅玩游戏,告别卡顿!

在Win11电脑操作中,用户不仅可以进行办公、学习等操作,也可以畅玩喜欢的游戏。如果喜欢打游戏的用户,就可以安装上适合打游戏的系统版本。但许多新手用户不知道去哪里找到最适合打游戏的Win11系统版本?以下小编就给大家带来这样的…

el-upload 上传图片及回显照片和预览图片,文件流和http线上链接格式操作

<div v-for"(info, index) in zsjzqwhxqList.helicopterTourInfoList" :key"info.id" >编辑上传图片// oss返回线上地址http链接格式&#xff1a;<el-form-itemlabel"巡视结果照片":label-width"formLabelWidth"><el…

Appium APP测试学习

1、安装client编程库(客户端) (1)如果遇到以下问题可以使用全路径安装 (2)安装后导致selenium升级&#xff0c;导致某些方法失效&#xff1a;如find_element_by_id。解决方法&#xff1a;卸载两个安装包&#xff0c;后面重新安装 2、安装appium Server:&#xff08;服务端&…

【论文阅读】场景生成及编辑3D定位论文阅读

<div id"content_views" class"htmledit_views" style"user-select: auto;"><div class"kdocs-document"> 前置知识 归纳偏置 关于归纳偏置的理解&#xff1a;首先推荐一篇解释归纳偏置非常好的博客&#xff1a;浅谈归纳…

【PostgreSQL】AUTO_EXPLAIN - 慢速查询的日志执行计划

本文为云贝教育 刘峰 原创&#xff0c;请尊重知识产权&#xff0c;转发请注明出处&#xff0c;不接受任何抄袭、演绎和未经注明出处的转载。 一、介绍 在本文中&#xff0c;我们将了解 PostgreSQL AUTO_EXPLAIN功能的工作原理&#xff0c;以及为什么应该使用它来收集在生产系统…

高考十字路口:24年考生如何权衡专业与学校的抉择?

文章目录 每日一句正能量前言专业解析理工科专业商科专业人文社科专业艺术与设计专业个人经验与思考过程结论 名校效应分析名校声誉与品牌效应资源获取学术氛围就业优势个人发展结论 好专业和好学校的权衡个人职业目标行业需求教育质量资源和机会学术氛围就业优势经济和地理位置…

SVM算法-人脸识别背后技术详解

引言 支持向量机&#xff08;SVM&#xff09;是一种强大的监督学习算法&#xff0c;广泛应用于分类和回归任务中。本文将详细介绍SVM算法在人脸识别任务中的应用&#xff0c;并通过代码示例来展示其背后的技术精髓。我们将分三大部分来展开&#xff0c;本部分将重点介绍SVM算法…

SpringBoot2+Vue3开发博客管理系统

项目介绍 博客管理系统&#xff0c;可以帮助使用者管理自己的经验文章、学习心得、知识文章、技术文章&#xff0c;以及对文章进行分类&#xff0c;打标签等功能。便于日后的复习和回忆。 架构介绍 博客管理系统采用前后端分离模式进行开发。前端主要使用技术&#xff1a;Vu…

网管工作实践_02_IP/MAC地址管理工具

1、ipconfig命令格式及参数 ipconfig是内置于Windows的TCP/IP应用程序&#xff0c;用于显示本地计算机网络适配器的MAC地址和IP地址等配置信息&#xff0c;这些信息一般用来榆验手动配置的TCP/IP设置是否正确。当在网络中使用 DHCP服务时&#xff0c;IPConfig可以检测计算机中分…