JS函数知识点(复习)

在 JavaScript(JS)中使用函数有多种原因,这些原因不仅涉及到代码的组织和可读性,还涉及到代码的可维护性、复用性以及程序的模块化等方面。以下是一些关键的理由:

  1. 代码重用:函数允许你将一段代码块封装起来,并在需要时多次调用。这避免了重复编写相同的代码,减少了错误的可能性,并使代码更易于维护。
  2. 组织代码:通过将相关的代码块组织到函数中,你可以使代码结构更清晰,更易于理解和阅读。这有助于提高代码的可读性和可维护性。
  3. 模块化:函数是实现代码模块化的基础。通过将功能分解为独立的函数,你可以创建可重用的代码块,这些代码块可以在不同的程序或项目中共享。
  4. 抽象:函数提供了一种抽象机制,允许你隐藏实现细节,只暴露必要的接口。这使得代码更易于理解和使用,同时降低了代码之间的耦合度。
  5. 封装:通过封装数据和操作这些数据的函数,你可以创建更强大的数据结构,如对象。封装有助于提高代码的安全性和健壮性。
  6. 控制流:函数允许你控制代码的执行流程。通过调用不同的函数,你可以改变程序的执行路径,实现条件判断、循环等复杂的逻辑。
  7. 回调和异步处理:在 JavaScript 中,函数经常作为回调函数使用,特别是在处理异步操作时。这允许你在某个操作完成后执行特定的代码块,从而实现非阻塞的编程模型。
  8. 创建库和框架:通过使用函数,你可以创建可重用的库和框架,这些库和框架可以帮助开发者更高效地构建复杂的 Web 应用程序。

函数有关返回值 

//声明函数
function sheet99(){for(let i=1;i<=9;i++){
//内层循环控制列for(let j=1;j<=ilj++){document.write(`<span>${j} X ${i} = ${i*j}</span>`)}
//换行document.write('<br>')}}
//调用
sheet99()
function fn(){return 20;
}
let re = fn()
console.log(re)
//结果返回为20

数组比较大小的一个案例

        function getarr(arr=[]){let max = arr[0];let min = arr[0];for(let i =1;i<arr.length;i++){if(arr[i]>max){max = arr[i]}if(arr[i]<min){min = arr[i]}}return [max,min]}let anew = getarr([1,32,43,54])console.log(anew[0])console.log(anew[1])

函数细节补充 

 

(function(){
let num = 1})()第一个()传递的形参,第二个起到的是调用作用,传递实参。
//也可以这样写
(function(){}())

复习小案例(时间转换):

 

        let a = +prompt(`请输入时间`)function time(t){h = parseInt(t/60/60%24)m = parseInt(t/60%60)s = parseInt(t%60)h = h<10? '0'+h:hm = m<10? '0'+m:ms = s<10? '0'+s:sreturn  `转换完成${h}小时${m}分钟${s}秒`}let str = time(a)document.write(str)

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

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

相关文章

(五)消息队列

一、概念 队列又称消息队列&#xff0c;是一种常用于任务间通信的数据结构&#xff0c;队列可以在任务与任务间、中断与任务间传递信息&#xff0c;实现了任务接收来自于其他任务或中断的不定长度信息 二、常用函数 &#xff08;1&#xff09;xQueueCreate创建队列 &#xf…

基于深度学习的唇语识别系统的设计与实现

概要 人工智能作为三大工程之一&#xff0c;从上个世纪至今仍然活跃于各个行业的研究与应用之中&#xff0c;应时代的热潮方向&#xff0c;本 课题主要针对深度学习技术应用于唇语识别当中&#xff0c;实现词语唇语的翻译功能。唇语识别在图像处理中一直是一个富 有挑战性的课题…

C语言基础学习

1 extern 在C语言中&#xff0c;关键字extern用于声明一个变量或函数是在其他文件或模块中定义的。它告诉编译器变量或函数是在其他地方被定义的&#xff0c;而不是在当前文件中。这样做可以使多个文件共享同一个变量或函数&#xff0c;而不需要在每个文件中都重新定义一次。 …

力扣59. 螺旋矩阵 II

思路&#xff1a;此题思路就是绕圈遍历&#xff0c;全靠条件处理技巧&#xff0c;重点要清楚的就是循环不变量&#xff1a;左闭右开&#xff08;即拐弯处的一个数&#xff0c;留给第二行处理&#xff09; 以下是代码随想录的作者的一张图片&#xff0c;每次for循环&#xff0c;…

使用三种方式读取文本文件

文章目录 &#x1f354;需求&#x1f384;思路⭐代码⭐效果&#x1f6f8;注意 在 Java 中&#xff0c;读取文件通常涉及以下几个步骤&#xff1a; 打开文件&#xff1a;首先需要创建一个文件对象&#xff0c;表示要读取的文件。这个文件对象可以包含文件路径、文件名等信息。 …

使用canvas实现图纸标记及回显

图纸 图纸标记后的效果图 最近做的一个qms项目里面&#xff0c;需要前端在图纸上实现标记及标记后的内容还要能够回显&#xff0c;然后后端通过标记的点&#xff0c;去读取标记图纸的内容&#xff0c;如一些公式、数据之类的&#xff0c;目前实现的功能有 在图纸上面进行矩形…

Mysql 索引、锁与MVCC等相关知识点

文章目录 Mysql锁的类型锁使用MVCC快照读和当前读读视图【Read View】串行化的解决 索引类型存储方式区分逻辑区分实际使用区分索引失效情况 索引建立规范SQL编写规范exlpain字段解析ACID的原理日志引擎慢SQL整合SpringBoot博客记录 Mysql锁的类型 MySQL中有哪些锁&#xff1a…

Flutter:构建美观应用的跨平台方案

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C#理解进程、线程和任务

一、进程、线程和任务 C# 中的进程、线程和任务时&#xff0c;通常涉及到多任务处理、并行编程和异步操作。下面我将详细解释这三个概念&#xff1a; 1.进程 定义&#xff1a;进程是正在运行的程序的实例。每个进程都有自己的内存空间、系统资源和执行状态。C#中的表示&…

【软考】SMTP与SNMP

目录 1. SMTP2. SNMP 1. SMTP 1.简单邮件传输协议&#xff08;Simple Mail Transfer Protocol&#xff09;2.SMTP主要负责底层的邮件系统如何将邮件从一台机器发送至另外一台机器3.该协议工作在TCP协议的25号端口4.小记&#xff1a;Transfer与Transmission都有T 2. SNMP 1.简…

C#创建第一个PIESDK模版的项目

目录 环境配置创建项目方式 环境配置 1软件安装 通过安装光盘或者U盘等介质读取PIE软件的安装程序和使用文档。程序安装过程比较简单&#xff0c;软件本身不借助与任何第三方程序&#xff0c;直接双击安装程序【PIESDK.Net_V6.3_Windows_X64.exe】安装文件&#xff0c;即可安装…

尚硅谷vue全家桶(上)

vue2 简介第一天第二天 第三天第四天第五天 第六天第七天第八天 第九天 网课链接&#xff08;半个月拿下&#xff09; 简介 需要提前会的东西 中文文档链接点下面 vue.js 要会查文档用API 第一天 清除提示1 再文档中下载开发版本浏览器安装vue devtools插件 打开允许访问URL…

cookies为什么会有csrf风险,为什么token可以避免

CSRF 利用的是网站对用户网页浏览器的信任。 伪造请求(一般是一个非法链接): 链接伪造了目的性请求参数&#xff0c;因为地址需要同源&#xff0c;所以不会改。 Cookie 是通过浏览器将服务器返回的数据保存在本地的一小块数据&#xff08;一般小于4kb&#xff09;。当浏览器发…

各位朋友我回答一个问题大家帮忙看看是否对错!

转载&#xff1a;《发布一个简单的C语言的问题&#xff0c;有大牛可以前往指导一下》 简单的C字符串问题:编写如下面要求一个函数&#xff0c;那个最好呢&#xff1f;求各位出出点子看看如何优化。_编程语言-CSDN问答 当我认为问题最优时候我将进行开帖总结与致谢&#xff0c…

SpringBoot 中使用自定义参数解析器修改请求对象

SpringBoot 中使用自定义参数解析器修改请求对象 在 SpringBoot 应用中&#xff0c;有时我们需要在控制器方法执行之前对请求对象进行修改。自定义参数解析器提供了一种灵活的方式来实现这一需求。 1. 创建自定义参数解析器 首先&#xff0c;我们需要创建一个自定义参数解析…

[NCNN学习笔记]-1

1、前言 本次继续学习NCNN&#xff0c;希望能够坚持&#xff0c;往期学习NCNN的链接如下。 [NCNN学习笔记]-0 2、学习内容 2.1、batchnorm_arm.cpp 这个章节学习NCNN中batchnorm在NEON上的实现。batchnorm的学习可参考链接:https://zhuanlan.zhihu.com/p/93643523 在NCNN…

【C语言】字符函数与字符串函数以及内存函数 { 超详细攻略,一篇学会 }

今日分享&#xff1a;字符、字符串函数和内存函数 内存函数就是对内存进行操作的函数 字符串函数就是对字符串进行操作的函数 字符函数就是对字符进行操作的函数 str前缀的函数是字符串函数&#xff0c;头文件string.h mem前缀的函数是内存函数&#xff0c;头文件stdlib.h 字符…

C#开发五子棋游戏:从新手到高手的编程之旅

C#开发五子棋游戏&#xff1a;从新手到高手的编程之旅 目录 一、引言 二、项目规划与设计思路 三、棋盘与棋子的数据模型构建 四、交互式用户界面设计 五、核心游戏逻辑实现 一、引言 五子棋&#xff0c;作为一种古老的策略型棋类游戏&#xff0c;在全球拥有广泛的爱好者…

25考研数据结构复习·3.3.2栈和队列的应用——表达式求值

三种算术表达式 中缀表达式 ((15/(7-(11)))*3)-(2(11)) 由三个部分组成&#xff1a;操作数、运算符、界限符 运算符在两个操作数中间&#xff1a;ab&#xff1b;ab-c&#xff1b;ab-c*d ❗后缀表达式 逆波兰表达式 运算符在两个操作数后面&#xff1a;ab&#xff1b;abc-或ab…

python知识点总结(二)

这里写目录标题 1、什么是解释性语言&#xff0c;什么是编译性语言&#xff1f;2、说说中作用域是怎么划分的3、type和isinstance方法的区别4、浅拷贝和深拷贝5、python中变量在内存中存储方式6、python中的封装、继承、多态7、python中内存管理机制是怎么样的&#xff1f;8、简…