JavaScript的函数(几种函数的定义和使用)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


江城如画里,山晓望晴空。


文章目录

  • 函数
    • 1. 自定义函数
      • 1.1 语法
      • 1.2 注意事项
      • 1.3 变量的作用域
      • 1.4 示例代码
      • 1.5 控制台结果
    • 2. 回调函数
      • 2.1 定义语法
      • 2.2 应用
      • 2.3 示例代码
      • 2.4 控制台输出
    • 3. 匿名函数
      • 3.1 应用场景
      • 3.2 示例代码
      • 3.3 控制台结果
    • 4. 箭头函数
      • 4.1 定义语法
      • 4.2 注意事项
      • 4.3 示例代码
      • 4.4 控制台输出结果
    • 5. 示例代码下载


JS系列篇:
JS(JavaScript)入门学习指南
JS(JavaScript)学习专栏


函数

JS中的函数有以下几种:自定义函数、回调函数、匿名函数、箭头函数。

1. 自定义函数

1.1 语法

自定义函数的语法如下

        function 函数名(参数1,参数2,...){函数体}

1.2 注意事项

定义函数时不需要指定参数的类型
实参个数和形参个数可以不同,未指定参数时其默认值为undefined
不需要指定返回只的类型,如果有返回值,直接使用return返回即可
如果函数中没有使用return返回值,则默认返回undefined

1.3 变量的作用域

变量在代码中的作用域

名称含义
局部作用域在函数中声明的变量,只能在此函数内访问,函数运行结束变量自动销毁
全局作用域在函数外声明的变量,在任何位置都可以访问
块级作用域使用let关键字声明的变量,只能在声明它的代码块内访问

1.4 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>函数-自定义函数</title><script>//语法/*function 函数名(参数1,参数2,...){函数体}*///定义函数-举例,无参function fn1(){console.log("无参函数");}//定义函数-举例,有参function fn2(n1,n2,n3){console.log("有参函数");}//调用函数fn1();var sum = fn2(1,2,3);console.log(sum);var a = 110;function fn4(){var b = 111;}{var c = 112;let d = 119;}console.log("全局变量a:",a);console.log("局部变量b:",b);console.log("块级作用域变量c:",c);console.log("块级作用域变量d:",d);</script>
</head>
<body></body>
</html>

1.5 控制台结果

浏览器控制台结果输出
在这里插入图片描述

2. 回调函数

不立即执行的函数调用,满足一定条件时执行或者由别的代码调用执行,称为回调函数callback
调用时只写函数名,没有小括号和参数

2.1 定义语法

定义语法如下

function 函数名(){函数体}

2.2 应用

作为事件绑定的函数
作为其他函数的参数

2.3 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>函数-回调函数</title><script>function f1(){console.log("libai");}//事件绑定的函数//点击页面时触发函数,即回调函数,不能加小括号window.onclick = f1;//函数作为参数//函数本身也是一种数据类型,数据类型string,number,boolean,null,undefined,object,functionconsole.log(typeof f1);var f = f1;f();console.log(typeof f);function f2(a,b){a();}f2(f1,2);</script>
</head>
<body></body>
</html>

2.4 控制台输出

浏览器控制台输出
在这里插入图片描述

3. 匿名函数

没有名字的函数称为匿名函数,一般用于回调

3.1 应用场景

用于函数的回调
用于一次性执行的函数,会自动执行,称为自执行函数

3.2 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>函数-匿名函数</title><script>//匿名函数回调window.onclick=function(){//匿名函数,用于回调console.log("点击页面触发函数执行");};//用于一次性执行的函数-自执行函数(function(){console.log("只执行一次的函数");})();</script>
</head>
<body></body>
</html>

3.3 控制台结果

浏览器控制台结果输出
在这里插入图片描述

4. 箭头函数

ES6中允许使用箭头定义函数,称为箭头函数,也称为lamda表达式,是一种特殊的匿名函数,使用=>符号

4.1 定义语法

语法如下

参数 => 返回值

4.2 注意事项

如果箭头函数没有参数,也必须带上小括号表示参数部分
如果箭头函数有两个或两个以上的参数,则必须使用小括号
如果箭头函数的函数体部分多于一句,则需要使用花括号括起来
以上三条注意事项可通过下方示例代码查看

4.3 示例代码

示例代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>函数-箭头函数</title><script>/*ES6中允许使用箭头定义函数,称为箭头函数,也称为lamda表达式,是一种特殊的匿名函数,使用=>符号*///语法:参数 => 返回值var a = function(x){return x*2;}console.log(a(2));//使用箭头函数var b = x => x*2;console.log(b(2));//如果箭头函数没有参数或者参数多于2个及以上,则必须使用小括号表示参数部分var c = function(){return 1;}console.log(c());//使用箭头函数var d = ()=>1;console.log(d());var e = function(x,y){return x+y;}console.log(e(2,3));//使用箭头函数var f = (x,y) => x+y;console.log(f(2,3));//如果箭头函数的函数体多于一句,则需要使用花括号括起来var g = function(x,y){var sum = x+y;return sum;}console.log(g(3,3));//使用箭头函数var h = (x,y) => {var sum = x+y;return sum;}console.log(h(3,3));</script>
</head>
<body></body>
</html>

4.4 控制台输出结果

浏览器控制台输出结果
在这里插入图片描述

5. 示例代码下载

示例代码已上传至CSDN资源库
下载地址:JavaScript 不同类型函数的定义和使用 示例代码


感谢阅读,祝君暴富!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实时数据的处理一致性如何保证?

实时数据一致性的定义以及面临的挑战 数据一致性通常指的是数据在整个系统或多个系统中保持准确、可靠和同步的状态。在实时数据处理中&#xff0c;一致性包括但不限于数据的准确性、完整性、时效性和顺序性。 下图是典型的实时/流式数据处理的流程&#xff1a; 流式数据以各…

如何理解分类任务中的logits?

在分类任务中&#xff0c;logits 是模型输出的原始分数&#xff0c;通常是在通过模型的最后一个全连接层之后但在激活函数&#xff08;如 softmax&#xff09;之前获得的。它们代表每个类别的未归一化得分或信心度。理解 logits 的过程可以分为以下几个步骤&#xff1a; 模型的…

大前端技术分类

1 基础 2 语言 3 类库 4 框架 5 跨栈 6 架构 7 领域 7.1 中后台 7.2 跨平台 7.3 可视化 7.4 智能化 7.5 工程化 7.5.1 规范化 7.5.2 流程化 —— 前端工程化工具系列 7.5.3 模板化 7.5.4 自动化 7.5.5 平台化 7.6 其他 7.6.1 音视频 7.6.2 Web3 7.6.3 区块…

统信UOS屏蔽mysql显性的用户名称以及密码

有的时候我操作数据库的脚本语句为 > mysql -u用户名 -p密码 -D数据库名称 -e"sql语句" 这样展示的话&#xff0c;会暴漏我的用户名称和用户密码 如果不想每次都展示用户名和密码的话需要以下操作 创建.my.cnf 文件 可以在用户的主目录下创建或编辑 .my.cnf 文件…

搜索二叉树的概念及实现

搜索二叉树的概念 搜索二叉树规则&#xff08;左小右大&#xff09;&#xff1a; 非空左子树的键值小于其根节点的键值非空右子树的键值大于其根节点的键值左右子树均为搜索二叉树 如图&#xff1a; 在搜索时&#xff0c;若大于根&#xff0c;则去右子树寻找&#xff1b;若小…

Python:基础爬虫

Python爬虫学习&#xff08;网络爬虫&#xff08;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;更经常的称为网页追逐者&#xff09;&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字…

flask实现抽奖程序(一)

后端代码E:\LearningProject\lottery\app.py from flask import Flask, render_template import randomapp Flask(__name__)employees [赵一, 钱二, 孙三, 李四, 周五, 吴六, 郑七, 王八]app.route(/) def hello_world():return render_template(index.html, employeesemplo…

企业多云策略的优势与实施指南

企业在选择云服务提供商时&#xff0c;常见的选项包括亚马逊AWS、微软Azure、谷歌云GCP、阿里云、腾讯云和华为云。为了避免过度依赖单一供应商&#xff0c;许多企业选择采用多云策略&#xff0c;这样可以充分利用不同云服务的优势&#xff0c;同时避免重复工作和其他额外的工作…

每天五分钟计算机视觉:如何在现有经典的卷积神经网络上进行微调

本文重点 在深度学习领域,卷积神经网络(Convolutional Neural Networks,CNN)因其强大的特征提取和分类能力而广泛应用于图像识别、自然语言处理等多个领域。然而,从头开始训练一个CNN模型往往需要大量的数据和计算资源,且训练时间较长。幸运的是,迁移学习(Transfer Le…

postgresql中geometry类型数据迁移

postgresql中geometry类型数据迁移 在PostgreSQL中,如果你需要从一个PostGIS扩展支持的数据库迁移到另一个,并且你想要迁移geometry类型的数据,你可以使用以下步骤: 在目标数据库中创建与源数据库相同结构的表。 使用ST_GeomFromText或ST_GeomFromWKB函数将源数据库中的…

git如果将多次提交压缩成一次

将N个提交压缩到单个提交中有两种方式&#xff1a; git reset git reset的本意是版本回退&#xff0c;回退时可以选择保留commit提交。我们基于git reset的作用&#xff0c;结合新建分支&#xff0c;可以实现多次commit提交的合并。这个不需要vim编辑&#xff0c;很少有冲突。…

服务器每次登陆都需要source .bashrc才能使用conda的问题[已解决]

1. 如果当前文件夹中没有.bash_profile文件&#xff0c;则创建该文件并填入下列信息&#xff1a;&#xff08;如果有该文件&#xff0c;则直接添加下列代码&#xff09; if [ -f ~/.bashrc ]; then . ~/.bashrc; fi2. 执行命令 source .bash_profile3. 重新登陆服务器&#x…

WEB基础--TOMCAT服务器

服务器概述 什么是服务器 服务器&#xff1a;就是一个提供为人民服务的机器&#xff0c;这里的服务器主要指计算机服务器&#xff0c;分为两种&#xff1a;服务器软件和硬件服务器&#xff1b; 服务器分类 1、硬件服务器&#xff1a;安装了服务器软件的主机。就相当于高配的…

【算法系列 | 13】深入解析查找算法之—树表查找

引言 查找算法在计算机科学中扮演着至关重要的角色。它们的效率直接影响到系统的性能和用户体验。树表查找&#xff08;Tree-based Search&#xff09;是一类基于树结构的查找算法&#xff0c;广泛应用于各类数据结构和数据库系统中。 本文将深入介绍树表查找算法的原理、优缺点…

【DPDK学习路径】一、前言及目录

虽然目前网络上已经有很多关于DPDK的帖子&#xff0c;DPDK官网也有自己的说明文档&#xff0c;但是这些现存的资料&#xff0c;要么不够系统、全面&#xff0c;要么入门门槛很高&#xff0c;需要非常精通操作系统及网络报文处理&#xff0c;甚至于要你本身已经对DPDK十分了解才…

复合机器人以其高度的灵活性和操作效率,展现了显著的优势

随着工业4.0的深入推进和智能制造的快速发展&#xff0c;复合机器人作为一种集成移动机器人和工业机器人功能的先进设备&#xff0c;正逐步成为工业自动化领域的新宠。特别是在磁钢上下料的应用中&#xff0c;复合机器人以其高度的灵活性和操作效率&#xff0c;展现了显著的优势…

基于C#开发web网页管理系统模板流程-主界面密码维护功能完善

点击返回目录-> 基于C#开发web网页管理系统模板流程-总集篇-CSDN博客 前言 紧接上篇->基于C#开发web网页管理系统模板流程-主界面统计功能完善-CSDN博客 一个合格的管理系统&#xff0c;至少一定存在一个功能——用户能够自己修改密码&#xff0c;理论上来说密码只能有用…

Matlab图像处理——细胞图像的分割和计数显示

一. 项目介绍 使用MATLAB编写的细胞图像分割及计数系统&#xff0c;实现了对图像内细胞的计数&#xff0c;以及对每个细胞周长和面积的测量&#xff0c;并分别展示了分割后的每个细胞的图像。实验步骤共分为图像预处理、图像预分割、空洞填充、黏连细胞分割、细胞个数统计、细胞…

【Python入门与进阶】Python中变量的输出方式

在Python中&#xff0c;有多种方式来输出变量的值。以下是几种常见的方法&#xff1a; 1. 使用 print() 函数 这是最基本和常用的输出方法。 x 10 print(x)2. 使用格式化字符串&#xff08;f-strings&#xff09; f-strings 是在 Python 3.6 引入的&#xff0c;它们非常方…

TikTok网红营销指南 | 怎么找到TikTok网红并进行合作?

如果你打算在tiktok上进行营销&#xff0c;忽略与tiktok网红合作无异于错失良机&#xff0c;时尚博主Sophia仅用一条30秒的视频展示了自己从一家新兴品牌购买的连衣裙&#xff0c;视频迅速获得了数百万的点赞和评论&#xff0c;也让该品牌的销量翻了好几倍。 这种与网红合作的策…