WEB前端递归数组模块详解

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><script>function fn(n){for(let i = 0; i< n; i++){for(let j = 0; j < n; j++){console.log(i)}}}//递归函数:简单说就是自己调用自己的函数,一定要有种终止条件//定义函数// function fn(num){// 	console.log(num)// 	num += 1// 	if(num >=100){// 		console.log(num)// 		return num// 	}// 	fn(num)// }// //调用// let num = 0// fn(num)function sum(n) {if (n == 1) {return 1}return sum(n - 1) + n}console.log(sum(100))console.log("程序结束.")//假如n == 100//sum(99) + 100//sum(98) + 99 + 100//sum(97) + 98 + 99 +100//1 + 2 + 3 + ... 100// 1 1 2 3 5 8 13 21 34 55//求斐波那契数列的第n项function fib(n) {if (n == 1 || n == 2) {return 1}return fib(n - 1) + fib(n - 2)}console.log(fib(10))</script></body>
</html>

数组

js中的数组不是一段连续的空间,他是一个双向的链表结构,每一个元素会记录前后元素的内存地址,所以删除或者插入元素只需要修改前后元素中保存的地址即可,非常方便,这一点上优于C。

但是要访问元素的效率比起c差很多。

咱们的数组也是由于许多好用的属性和方法。

常用的方法和属性如下

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><script>//如何创建数组,直接创建一个数组的实例赋值给变量//var arr = []//创建方式2//var arr = new Array()//创建方式3//var arr = Array(1, 2, 3, 4, 5, 6)//增//push新增元素值数组的尾部//arr.push(7)//arr.unshift(0)//删// arr.pop()// arr.shift()//改// arr[0] = 100//查询//let arr2 = [7, 8, 9, 10]//拼接数组concat//join通过指定的字符串来拼接数组中每一个元素//split是通过指定的字符串将目标字符串分解成数组let arr = [1,2,3,4,5]// let str = arr.join("*!@#¥%")// let arr2 = str.split("*!@#¥%")// console.log(str)// console.log(arr2)// //reverse反转// console.log(arr.reverse())//splice可以用来在指定位置插入多个元素,也可以用来删除指定位置多个元素arr.splice(2,2)console.log(arr)//sort 可以用来给数组排序 排序方法可以自定 return a-b 升序 b-a降序let arrary = [5,3,7,1,2,99,130]console.log(arrary.sort(function(a,b){return a-b// b-a}))</script></body>
</html>

Math

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><script>console.log(Math.PI)console.log(Math.E)//floor向下去整console.log(Math.floor(16.99999999))//ceil向上取整console.log(Math.ceil(16.000000001))//四舍五入console.log(Math.round(13.5))//abs取绝对值console.log(Math.abs(-100))let arr = [1, 7, 3, 8, 9, 10]//max方法取最大值console.log(Math.max(1, 7, 8, 9, 0, 101, 123123, 33))//min方法区最小值console.log(Math.min(1, 7, 8, 9, 0, 101, 123123, 33))//math.random随机数 范围[0,1)console.log(Math.random() * 10 + 10)//开平方sqrtconsole.log(Math.sqrt(100))//幂次运算console.log(Math.pow(1e200,(1/100)))</script></body>
</html>

date模块

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><div id="msg"></div><script>//获取当前系统时间let date = new Date()console.log(date)//指定一个时间// date = new Date("2000-1-1 00:00:00")// console.log(date)//获取年份let year = date.getFullYear()console.log(year)//获取月份let month = date.getMonth()console.log(month + 1)//获取几号let dateOfMonth = date.getDate()console.log(dateOfMonth)//获取星期几let day = date.getDay()console.log(day)//时分秒let hour = date.getHours()let minute = date.getMinutes()let second = date.getSeconds()let millsec = date.getMilliseconds()console.log(hour + ":" + minute + ":" + second + ":" + millsec)let div = document.getElementById("msg")let intervalId = setInterval(() => {date = new Date()let hour = date.getHours()let minute = date.getMinutes()let second = date.getSeconds()let millsec = date.getMilliseconds()// document.write(date)div.innerHTML = hour + ":" + minute + ":" + second + ":" + millsec}, 100)clearInterval(intervalId)</script></body>
</html>

倒计时代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><div id="msg"></div><script>let count_down = 5let msg = document.getElementById("msg")let id = setInterval(()=>{msg.innerHTML = count_downcount_down--if(count_down == 0){clearInterval(id)msg.innerHTML = "火箭发射"}},1000)</script></body>
</html>

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

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

相关文章

机器学习工程师在人工智能时代的角色

机器学习工程师在人工智能时代的角色 在当今的数字时代&#xff0c;人工智能&#xff08;AI&#xff09;已成为许多行业不可或缺的一部分。从流程自动化到增强客户体验&#xff0c;人工智能具有改变企业的巨大潜力。这一变革性技术的核心是机器学习&#xff0c;该领域专注于开…

【Flink-1.17-教程】-【四】Flink DataStream API(3)转换算子(Transformation)【用户自定义函数(UDF)】

【Flink-1.17-教程】-【四】Flink DataStream API&#xff08;3&#xff09;转换算子&#xff08;Transformation&#xff09;【用户自定义函数&#xff08;UDF&#xff09;】 1&#xff09;函数类&#xff08;Function Classes&#xff09;2&#xff09;富函数类&#xff08;R…

智慧工厂视频监控平台EasyCVR公网收流后内网设备无法播放是什么原因?

安防视频监控平台EasyCVR采用了开放式的网络结构&#xff0c;支持高清视频的接入和传输、分发&#xff0c;平台提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;此外&am…

如何在科技创新中发挥国有企业的战略支撑作用?

要在科技创新中发挥国有企业的战略支撑作用&#xff0c;需要采取以下措施&#xff1a; 1. 强化国有企业创新主体地位&#xff1a;鼓励和支持国有企业加强技术创新、产品创新、组织创新和市场创新&#xff0c;提高自主创新能力。政府可以给予国有企业一定的政策和资金支持&…

机器学习分类模型评价指标总结(准确率、精确率、召回率、Fmax、TPR、FPR、ROC曲线、PR曲线,AUC,AUPR)

为了看懂论文&#xff0c;不得不先学一些预备知识&#xff08;&#xff08;55555 主要概念 解释见图 TP、FP、TN、FN 准确率、精确率&#xff08;查准率&#xff09;、召回率&#xff08;查全率&#xff09; 真阳性率TPR、伪阳性率FPR F1-score2TP/(2*TPFPFN) 最大响应分…

netty源码:(46) TailContext

TailContext是DefaultChannelPipeline中的一个内部类&#xff0c;它是一个ChannelInboundHandler TailContext在我们所添加的自己定义的所有ChannelInboundHandler(比如通过addLast方法&#xff09;之后&#xff0c;是整个入栈消息处理的最后一环&#xff0c;也就是tail. 它的…

Django 手把手教你搭建MYSQL多数据源 实现读写分离

目录 一、创建3.2版本的Django项目 二、配置MYSQL多数据源 三、实现读写分离 一、创建3.2版本的Django项目 第一步&#xff1a;创建虚拟环境 第二步&#xff1a;打开终端安装django pip install django3.2 第三步&#xff1a;创建项目 django-admin startproject django_…

windows用msvc编译opencv、opencv-python、opencv_contrib、cuda

如要用mingw编译opencv&#xff0c;参考我另外一篇文章https://blog.csdn.net/weixin_44733606/article/details/135741806。 如要用Ubuntu编译opencv&#xff0c;参考我另外一篇文章https://blog.csdn.net/weixin_44733606/article/details/131720128。 一、安装VS2022&…

实现组件动画的时候报这个错误

vue3 Component inside &#xff1c;Transition&#xff1e; renders non-element root node that cannot be animated. 然后怎么解决的,在template元素里面放了多个节点所以报这个错误,我们先写一个div里面写就可以解决 <template><div><el-card>123</…

夜视成像应用激光照明方法

在夜视成像领域&#xff0c;激光照明的使用主要集中在提高成像质量和远距离观察上。 以下是几种用于夜视成像的激光照明方法&#xff1a; 直接激光照明&#xff1a; 这种方法涉及直接用激光光束照射目标。激光器发出的光束可以是可见光或红外光&#xff0c;具体取决于应用需求和…

elastic search入门

参考1&#xff1a;Elastic Search 入门 - 知乎 参考2&#xff1a;Ubuntu上安装ElasticSearch_ubuntu elasticsearch-CSDN博客 1、ElasticSearch安装 1.1安装JDK&#xff0c;省略&#xff0c;之前已安装过 1.2创建ES用户 创建用户&#xff1a;sudo useradd esuser 设置密码&…

仿真机器人-深度学习CV和激光雷达感知(项目2)day03【机器人简介与ROS基础】

文章目录 前言机器人简介机器人应用与前景机器人形态机器人的构成 ROS基础ROS的作用和特点ROS的运行机制ROS常用命令 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;本文内容是我为复试准备的第二个项目 &#x1f4ab;欢迎…

java实现时间轮算法

Main demo测试代码 public class Main {static int inCount 0;static int runCount 0;public static void main(String[] args) {CountDownLatch countDownLatch new CountDownLatch(1000);Timer timer new Timer();for(int i1;i<1000;i){TimerTask timerTask new Ti…

【vue3】GSAP在vue中的使用

一、获取GSAP npm install gsap 二、开始GSAP 导入GSAP&#xff0c;如果需要导入gsap的插件可以参考这里。 import gasp from gsap; 这里用的是选项式&#xff0c;在methods属性中创建一个方法用来写gsap的动画。 gasp_animation(){let tl gasp.timeline({defaults:{ ease:&…

【zlm】针对单个设备的码率的设置

目录 代码修改 实验数据一 实验数据二 同时拉一路视频后 修改记录 使用方法 代码修改 要被子类引用 &#xff0c;所以放在protected 不能放private 下面的结论&#xff0c;可以在下面的实验数据里引用。“同时拉一路视频后” 实验数据一 https://10.60.3.45:10443/index…

【学习】双线性插值

双线性插值公式 对于一个目的像素&#xff0c;设置坐标通过反向变换得到的浮点坐标为(iu,jv) (其中i、j均为浮点坐标的整数部分&#xff0c;u、v为浮点坐标的小数部分&#xff0c;是取值[0,1)区间的浮点数)&#xff0c;则这个像素得值 f(iu,jv) 可由原图像中坐标为 (i,j)、(i1…

php学习

php基础语法 一 php程序 1.php标记 开始标记<?php 和结束标记 ?>中间写 PHP 代码 当解析一个文件时&#xff0c;PHP 会寻找起始和结束标记&#xff0c;也就是告诉php 开始和停止解析二者之间的代码。此种解析方式使得PHP 可以被嵌入到各种不同的文档中去&#xff…

使用PSIM软件生成DSP28335流水灯程序

最近在学习DSP28335芯片&#xff0c;然后在使用PSIM仿真软件时发现这个仿真软件也支持28335芯片&#xff0c;于是就想学习下如何在PSIM软件中使用DSP28335芯片。在PSIM自带的官方示例中有使用DSP28335芯片的相关例子。 工程下载链接 https://download.csdn.net/download/qq_20…

2401llvm,clang插件

Clang插件 在编译时,Clang插件可运行额外的用户定义操作. 介绍 Clang插件在代码上运行FrontendActions.见FrontendAction教程,了解如何使用RecursiveASTVisitor编写FrontendAction. 这里,演示如何编写简单的clang插件. 编写PluginASTAction插件 与编写普通FrontendActions…

图解CART分类树评估器的参数

图解CART分类树评估器的参数