2024年 前端JavaScript入门到精通 第四天 笔记

4.1 函数的基本使用以及封装练习

★ 函数命名规范

4.2 函数的参数以及默认参数

函数的灵魂!!!

4.3 函数封装数组求和案例

4.4 函数返回值return

4.5 函数返回值细节以及上午总结

4.6 函数返回值案例-求最大值和最

4.7 函数复习以及断点进入函数

4.8 作用域

4.9 变量的访问原则

4.10 匿名函数之函数表达式

4.11 匿名函数之立即执行函数

4.12 综合家例-封装计算时间函数

4.13 逻辑中断

4.14 转换为布尔型以及作业

客观题

PC端地址:https://ks.wjx.top/vm/mC2UvoL.aspx#

主观题

练习题1:

请看以下代码,并说出执行的流程~~~

function printfInput(content) { // 将用户输入的内容, 在页面中显示document.write(content)
}
let constr = prompt('请输入内容')
printfInput(constr)

练习题2:

目标:求和函数封装练习

要求:

  1. 封装函数, 名字为sum
  2. 功能: 根据传入的两个数,求和并且返回求和的结果(函数必须有return返回值)

练习题3:

目的:  封装函数, 复习函数的基本写法。

需求:实现两个数的值交换(函数版本)

分析:

  1. 函数名为 changeNum()
  2. 调用函数时,  changeNum(1,2)
  3. 经过函数内部处理后,输出  第一个值的结果是2 第二个值的结果是1
  4. 可以多调用两次

练习题4:

目的: 复习函数的声明与调用

题目:封装余额函数

要求:

  1. 运行程序后, 浏览器显示输入确认框(prompt)
  2. 第一个输入确认框提示输入银行卡余额
  3. 第二个输入确认框提示输入当月食宿消费金额
  4. 第三个输入确认框提示输入当月生活消费金额
  5. 输入完毕后,在页面中显示银行卡剩余金额
  6. 提示: 所有功能代码封装在函数内部(函数需要把余额返回)

练习题5:

目标: 封装一个函数,可以求任意数组的和 或 平均值

要求:

  • 函数可以传递2个参数,比如  handleData(arr, true)      handleData 处理数据的意思
    • 参数一: 接受实参传递过来的数组
    • 参数二:    布尔类型  如果是true或者不传递参数 是求和操作,   如果传递过来的参数是 false 则是求平均值

拓展题1

需求:  封装 some 函数查看数组是否存在某个元素  。

  • 要传递2个参数 元素、数组
  • 如果数组存在元素则返回true,如果没有存在元素就返回 false

例如检测 香蕉  是否存在于  数组['苹果', '香蕉', '橘子', '荔枝', '梨子']中, 返回结果是 true

格式如下:

 function some(ele, arr = []) {// 里面写业务逻辑}
let re = some('荔枝', ['苹果', '香蕉', '橘子', '荔枝', '梨子'])
console.log(re) // true
let re1 = some('榴莲', ['苹果', '香蕉', '橘子', '荔枝', '梨子'])
console.log(re1) // false

拓展题2

需求:  封装 findeIndex 函数返回查找元素在数组中的索引号。

  • 要传递2个参数 元素、数组
  • 如果找到,则返回查找元素在数组中的索引号,如果查找不到,则返回 -1

例如检测 香蕉    数组['苹果', '香蕉', '橘子', '荔枝', '梨子']中, 返回结果是  1

格式如下:

 <script>// 封装函数返回元素的下标  [1, 5, 10, 22, 8, 7]// 1. 封装函数 findIndex,传递2个参数 元素、数组function findIndex(ele, arr = []) {// 里面写业务逻辑}let index1 = findIndex(10, [1, 5, 10, 22, 8, 7])console.log(index1) // 2let index2 = findIndex(8, [1, 5, 10, 22, 8, 7])console.log(index2) // 4let index3 = findIndex(88, [1, 5, 10, 22, 8, 7])console.log(index3) // -1</script>

排错题

排错题1

<!-- bug:请你找到代码返回NaN的原因,并进行修改 -->
<body><script>// 请返回一个数字型的结果 可以使用默认参数或者逻辑中断都可以function fn(x, y) {console.log(x + y)}fn(1)</script>
</body>

排错题2

<!-- bug:请你找到下面代码的2处错误,并进行修改过来-->
<body><script>// 任意数组求和案例function getsumArr(arr) {let sum = 0for (let i = 0; i < arr.legnth; i++) {sum + arr[i]}return sum}console.log(getsumArr([10, 20, 30, 40]))</script>
</body>

-----底部---

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

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

相关文章

【补充】linux内核升级

目录 步骤一&#xff1a;准备内核下载的repo文件 步骤二&#xff1a;yum安装lt长期稳定版 步骤三&#xff1a;查看内核序号&#xff0c;并绑定开机启动选择的序号 步骤四&#xff1a;重启查看 查看当前的内核版本 步骤一&#xff1a;准备内核下载的repo文件 内核升级 cat …

RISC-V知识总结 —— 指令集

资源1: RISC-V China – RISC-V International 资源2: RISC-V International – RISC-V: The Open Standard RISC Instruction Set Architecture 资源3: RV32I, RV64I Instructions — riscv-isa-pages documentation 1. 指令集架构的类型 在讨论RISC-V或任何处理器架构时&…

部署Docker私有镜像仓库Harbor

Harbor介绍 Harbor 是为企业用户设计的开源镜像仓库项目&#xff0c;包括了权限管理(RBAC)、LDAP、审计、安全漏洞扫描、镜像验真、管理界面、自我注册、HA等企业必需的功能&#xff0c;同时针对中国用户的特点&#xff0c;设计镜像复制和中文支持等功能。 官网&#xff1a;h…

后端经典面试题合集

目录 1. Java基础1-1. JDK 和 JRE 和 JVM 分别是什么&#xff0c;有什么区别&#xff1f;1-2. 什么是字节码&#xff1f;采用字节码的最大好处是什么&#xff1f; 1. Java基础 1-1. JDK 和 JRE 和 JVM 分别是什么&#xff0c;有什么区别&#xff1f; JDK 是Java开发工具包&am…

【Pytorch】从MoCo看无监督对比学习;从SupCon看有监督对比学习

目录 无监督对比学习&#xff1a;Moco文章内容理解代码解释 有监督对比学习&#xff1a;Supervised Contrastive Learning文章内容理解 无监督对比学习&#xff1a;Moco 文章内容理解 以下内容全部来自于&#xff1a;自监督学习-MoCo-论文笔记. 侵删 论文&#xff1a;Momentu…

删除遥感影像raster:另一个程序正在使用此文件,进程无法访问

问题&#xff1a; 在文件夹中删除处理过程得到的临时影像时&#xff0c;出现了上面的问题 os.remove(os.path.join(workspace2.replace(.tif, .cut.tif)))原因&#xff1a; 在文件夹中删除任何内容&#xff0c;比如文本、图片、影像时&#xff0c;都要先关闭这个对象 解决方…

ELK入门(三)-Kibana

Kibana Kibana是一个开源的分析与可视化平台&#xff0c;设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等&#xff0c;直观的展示数据&#xff0c;从而达到高级…

Xcode中App图标和APP名称的修改

修改图标 选择Assets文件 ——> 点击Applcon 换App图标 修改名称 点击项目名 ——> General ——> Display Name

【原理图专题】OrCAD Cpture Annotate窗口各项目含义

在绘制原理图时,如器件有重复位号、器件位号过大等都需要重新标号。使用Tool->Annotate打开Annotate注释对话框。 注释Annotate对话框中各条都是什么含义呢? 窗口释意: Refdes control required:设定零件序号范围。选择复选框,可以设定原理图页面元件开始和结…

QEMU之CPU虚拟化

概述 KVM是由以色列初创公司Qumranet在CPU推出硬件虚拟化之后开发的一个基于内核的虚拟机监控器。 KVM是一个虚拟化的统称方案&#xff0c;除了x86外&#xff0c;ARM等其他架构也有自己的方案&#xff0c;所以KVM的主体代码位于内核树virt/kvm目录下面&#xff0c;表示所有CP…

SpringBoot:自定义starter

点击查看&#xff1a;LearnSpringBoot08starter 点击查看&#xff1a;LearnSpringBoot08starterTest 点击查看更多的SpringBoot教程 一、主要流程 1. 先创建空的project 2. 打开空的project 结构 图选中model 点击 3. 创建 model&#xff08;Maven&#xff09;启动器 提…

如何开通融资融券?哪家好?融资融券业务一文解读(建议收藏)

A股已经连续8个交易日红&#xff0c;春节之后强心针继续打上。很多股民朋友又纷纷回到股市。还有很多朋友感觉什么都想要进&#xff0c;资金不够&#xff0c;就开始加杠杆了。但是杠杆这个东西不能盲目去加&#xff0c;融资融券就是加杠杆&#xff0c;具有怎么回事&#xff1f;…