Java Script函数

article/2025/7/6 6:27:26

1.认识JS函数

1.1程序中的foo、bar、baz

在学习编程中,你可能会经常看到foo、bar、baz这些名词

  它们通常被用来作为函数、变量、文件的名称

  目前已经编程了计算机编程的术语一部分

  但是它们本身并没有特别的用途和意义

  常常被称之为“伪变量”(metasyntactic variable)

这里推荐一个网站:程序问答网站(世界级的)

最新问题 - Stack Overflowhttps://stackoverflow.com/questions那么它们有声明由来吗?

 事实上:foo、bar这些名称最早什么时候、地方流行起来的一直是有争论的

总之,foo、bar、baz已经是编程领域非常非常常用的名词

    <script>//stackover flow:程序问答网站//程序员约定俗成的标识var foo="xxxxxx"function bar(){}var baz={}</script>

1.2认识函数 

什么是函数呢?

帮助我们完成了特定的功能 函数必然是某种特定功能的代码的封装

目前,我们已经接触过几个函数了

 alert函数:

  浏览器弹出一个弹窗

prompt函数:

  在浏览器弹窗中接收用户的输入

console.log函数:

  在控制台输入内容

String/Number/Boolean函数等等

函数其实就是某段代码的封装,这段代码帮助我们完成某一个功能

默认情况下,JS引擎或者浏览器会给我们提供一些已经实现好的函数

我们也可以编写属于自己的函数

1.3函数的使用步骤 

 函数的使用包含两个步骤:

  声明函数:封装 独立的功能

  调用函数:享受 封装的成果

声明函数,在JS中也可以称为定义函数

  声明函数的过程就是对某些功能的封装;

  在之后的开发中,我们会根据自己的需求定义很多自己的函数;

调用函数,也可以称为函数调用

  调用函数时让已经存在的函数为我们所用

  这些函数可以时刚刚自己封装好的某个功能函数

  当然,我们也可以去使用默认提供的或者其他三方库定义好的函数

函数的作用:

在开发程序中,使用函数可以提高编写的效率以及代码的重用

2.函数的声明和调用

2.1函数的声明和调用

声明函数使用function关键字:这种写法称之为函数的定义

function 函数名(){

函数封装的代码

.....

}

注意:

函数名的命名规则和前面命名规则是相同的;

函数要尽量做到见明知意,(并且函数通常是一些行为,所以使用动词会更多一些);

函数定义完后里面的代码是不会执行的,函数必须调用才会执行

调用函数通过函数名()即可:比如test()

练习如下:

    <script>//练习一:定义一个函数,打印自己的个人信息function printInfo() {console.log("my name is chen")console.log("age is 18")console.log("height is 1.88")}printInfo()printInfo()//练习二:定义一个函数,在内部计算10和20的值function sum() {var num1=10var num2=20var result =num1+num2console.log("result:",result)}sum()</script>

2.2函数的参数使用以及练习

函数的参数:

函数,把具有独立功能的代码块组织成一个小模块,在需要的时候调用

函数的参数,增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据

在函数内部,把参数当作变量使用,进行需要的数据处理

函数调用时,按照函数定义的函数顺序,把希望在函数内部处理的数据,通过参数传递

形参和实参

形参(参数parameter):定义函数时,小括号中的参数,是用来接收参数的,在函数内部作为变量使用

实参(参数argument):调用函数时,小括号中的参数,是用来把数据传递到函数内部的

练习:

    <script>//练习一:和某人打招呼function sayHello(name){console.log(`Hello ${name}`)}sayHello("chen")sayHello("zhang")//练习二:和某人唱生日歌function singBirthdaySong(name){console.log(`happy birthday to you`)console.log(`happy birthday to you`)console.log(`happy birthday to ${name}`)console.log(`happy birthday to you`)}singBirthdaySong("chen")singBirthdaySong("zhang")</script>

2.3函数的返回值使用

回想我们之前使用的prompt函数,函数需要接受参数,并且会返回用户的输入

所以说,函数不仅仅可以有参数,也可以有返回值

使用return关键字来返回结果;

一旦在函数中执行return操作,那么当前函数会终止

如果函数中没有使用return语句,那么函数会默认的返回值:undefined

如果函数使用return语句,但是return后面没有任何值,那么函数的返回值也是:undefined

  <script>// var result=prompt("请输入一个数字")//1.理解函数的返回值// function sayHello(name) {//   console.log(`Hi ${name}`)// }// var foo=sayHello("chen")// console.log("foo:",foo) //这个函数默认返回的是undefined//2.返回值的注意事项//注意事项一:所有的函数,如果没有写返回值,那么默认返回undefinedfunction foo(){console.log("foo函数被执行~")}var result=foo()console.log("foo的返回值",result)//注意事项二:我们也可以明确的写上return//写上return关键字,但是后面什么内容都没有的时候,也是返回undefinedfunction bar(){console.log("bar函数被执行")result}var result1=bar()console.log("bar的返回值",result1)//注意事项三:如果在函数执行到return关键字的时候,函数会立即停止执行,退出函数function baz(){console.log("Hello Baz")returnconsole.log("Hello World")console.log("Hello Why")}baz()//函数的具体返回值function sum(num1,num2) {var result=num1+num2return result}var tatol =sum(20,30)console.log("total:",tatol)</script>

2.4函数的练习

明天更......

3.函数的递归调用

4.局部和全局变量

5.函数表达式的写法

6.函数的头等公民(函数式编程)

7.立即执行函数使用


http://www.hkcw.cn/article/xobYCfeADT.shtml

相关文章

吴恩达MCP课程(5):mcp_chatbot_prompt_resource.py

前提条件&#xff1a; 1、吴恩达MCP课程&#xff08;5&#xff09;&#xff1a;research_server_prompt_resource.py 2、server_config_prompt_resource.json文件 {"mcpServers": {"filesystem": {"command": "npx","args"…

性能测试的概念和场景设计

一、什么是性能 性能的定义&#xff1a;性能是指系统或设备在执行特定任务时的时间效率和资源利用情况。可以从两个主要维度来理解&#xff1a; 时间维度&#xff1a; a、响应时间&#xff1a;指系统从接收用户请求到返回结果所需的时间。 b、吞吐量&#xff1a;指单位时间内…

【Java学习笔记】异常

异常&#xff08;Exception&#xff09; 一、基本介绍 在 Java 程序中&#xff0c;将运行中发生的不正常情况称为 “异常”&#xff0c;开发过程中的语法错误和运行时发生的异常情况是不一样的。 二、异常的分类 1. Error&#xff08;错误&#xff09;&#xff1a;Java 虚拟…

50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Form Wave(表单label波动效果)

&#x1f4c5; 我们继续 50 个小项目挑战&#xff01;—— FormWave组件 仓库地址&#xff1a;https://github.com/SunACong/50-vue-projects 项目预览地址&#xff1a;https://50-vue-projects.vercel.app/ &#x1f3af; 组件目标 构建一个美观、动态的登录表单&#xff0…

数据库系统概论(十六)数据库安全性(安全标准,控制,视图机制,审计与数据加密)

数据库系统概论&#xff08;十六&#xff09;数据库安全性 前言一、数据库安全性1. 什么是数据库安全性&#xff1f;2. 为何会存在安全问题&#xff1f; 二、安全标准的发展1. 早期的“开拓者”&#xff1a;TCSEC标准2. 走向国际统一&#xff1a;CC标准3. TCSEC和CC标准有什么不…

显示即战略:铁电液晶如何成为 “数字中国” 的 “像素基石”?

一、显示技术&#xff1a;数字时代的核心战略支点 &#xff08;一&#xff09;从 “视觉窗口” 到 “战略基础设施” 在数字经济蓬勃发展的当下&#xff0c;显示技术早已超越了单纯的 “视觉呈现” 范畴&#xff0c;成为连接人与数字世界的关键接口。从智能手机、平板电脑到车…

⚡️ Linux grep 命令参数详解

⚡️ Linux grep 用法及参数详解 &#x1f4d8; 1. grep 简介 grep 是 Linux/Unix 系统中用于文本搜索的命令&#xff0c;其全称为 Global Regular Expression Print&#xff0c;意为全局正则表达式打印器。 它根据给定的 模式&#xff08;pattern&#xff09; 对文件或标准…

Rust 变量与可变性

文章目录 变量与可变性常量遮蔽&#xff08;Shadowing&#xff09; 变量与可变性 Rust中变量默认是不可变的&#xff0c;这是 Rust 鼓励你编写更安全、易于并发代码的众多方式之一。不过&#xff0c;你仍然可以选择让变量可变。让我们来探讨 Rust 为什么鼓励你优先使用不可变性…

YOLOV7改进之融合深浅下采样模块(DSD Module)和轻量特征融合模块(LFI Module)

目录 一、研究背景​ 二. 核心创新点​ ​2.1 避免高MAC操作​ ​2.2 DSDM-LFIM主干网络​ 2.3 P2小目标检测分支​ ​3. 代码复现指南​ 环境配置 关键修改点 ​4. 实验结果对比​ 4.1 VisDrone数据集性能 4.2 边缘设备部署 4.3 检测效果可视化 ​5. 应用场景​ …

(Python网络爬虫);抓取B站404页面小漫画

目录 一. 分析网页 二. 准备工作 三. 实现爬虫 1. 抓取工作 2. 分析工作 3. 拼接主函数&运行结果 四. 完整代码清单 1.多线程版本spider.py&#xff1a; 2.异步版本async_spider.py&#xff1a; 经常逛B站的同志们可能知道&#xff0c;B站的404页面做得别具匠心&…

Qt OpenGL 3D 编程入门

Qt 提供了强大的 OpenGL 集成功能&#xff0c;使得在 Qt 应用中实现 3D 图形变得更加简单。以下是使用 Qt 进行 OpenGL 3D 编程的基础知识。 1. 环境配置 创建 Qt 项目 新建 Qt Widgets Application 项目 在 .pro 文件中添加 OpenGL 模块&#xff1a; qmake QT co…

山东警方:10岁失联男童在河道溺亡 搜救行动告终

6月2日,山东滕州市公安局发布警情通报。5月31日22时35分许,警方接到孔某某报警,称其10岁的外孙赵某某于当天17时许离家后失联。接警后,公安机关迅速调阅监控、走访群众,并联合当地政府和社会救援力量,使用搜救警犬和无人机持续开展搜寻工作。6月2日15时许,在邻村一河道内…

韩国大选目前选情如何 李在明领跑选战

韩国第21届总统选举定于6月3日举行,主要候选人仍在抓紧最后机会展开竞选活动,争取更多选票。此次大选在前总统尹锡悦被弹劾后举行,共有7名候选人登记参选,但其中两人已宣布退选,最终有5名候选人参加角逐。这5名候选人分别是共同民主党候选人李在明、国民力量党候选人金文洙…

【深度学习新浪潮】以Dify为例的大模型平台的对比分析

我们从核心功能、适用群体、易用性、可扩展性和安全性五个维度展开对比分析: 一、核心功能对比 平台核心功能多模型支持插件与工具链Dify低代码开发、RAG增强、Agent自律执行、企业级安全支持GPT-4/5、Claude、Llama3、Gemini及开源模型(如Qwen-VL-72B),支持混合模型组合可…

【JAVA】注解+元注解+自定义注解(万字详解)

&#x1f4da;博客主页&#xff1a;代码探秘者 ✨专栏&#xff1a;《JavaSe》 其他更新ing… ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;作者水平有限&#xff0c;欢迎各位大佬指点&…

unity随机生成未知符号教程

目录 前言方法1方法2脚本后言示例代码 前言 在某些游戏中&#xff0c;有一些让人感到意味不明的未知符号&#xff0c;例如在游戏《巴别塔圣歌》中&#xff0c;就有这样一些能让人在初次就看不懂的未知符号。 或者在其他时候&#xff0c;这些未知符号如果跟粒子系统结合在一起的…

OpenCV——Mac系统搭建OpenCV的Java环境

这里写目录标题 一、源码编译安装1.1、下载源码包1.2、cmake安装1.3、java配置1.4、测试 二、Maven引入2.1、添加Maven依赖2.2、加载本地库 一、源码编译安装 1.1、下载源码包 官网下载opencv包&#xff1a;https://opencv.org/releases/ 以4.6.0为例&#xff0c;下载解压后&…

从Docker拉取镜像一直失败超时解决办法

项目场景&#xff1a; 在ubuntu中&#xff0c;使用docker拉去镜像时&#xff0c;一直超时&#xff0c;拉去失败。 问题描述 原因分析&#xff1a; 国外服务器网络不好导致。 解决方案&#xff1a; 解决方案1 设置国内源 我这边测试&#xff0c;更改以后仍然失败 阿里云提供…

告别printf!嵌入式系统高效日志记录方案

目录 1、分级控制与动态过滤机制 2、异步处理与零拷贝架构 3、跨平台适配层设计 在嵌入式系统开发领域&#xff0c;日志记录系统如同数字世界的黑匣子&#xff0c;承载着系统运行状态的关键信息。传统的printf调试方式虽简单易用&#xff0c;但在处理复杂系统时暴露出效率低…

复变函数 $w = z^2$ 的映射图像演示

复变函数 w z 2 w z^2 wz2 的映射图像演示 复变函数 w z 2 w z^2 wz2 是一个基本的二次函数&#xff0c;在复平面上具有有趣的映射性质。下面我将介绍这个函数的映射特性&#xff0c;并使用MATLAB进行可视化演示。 映射特性 极坐标表示&#xff1a;若 z r e i θ z …