【web前端初级课程】第五章 常用的内置模块

系列文章传送门:

【wed前端初级课程】第一章 什么是HTML

【web前端初级课程】第二章 CSS层叠样式表

【web前端初级课程】第三章 CSS的特殊样式

【web前端初级课程】第四章 什么是JavaScript

【web前端初级课程】第五章 常用的内置模块

【web前端初级课程】第六章 BOM编程的五大对象

【web前端初级课程】第七章 你所不知道的DOM编程

【web前端初级课程】第八章 什么是事件?

文章目录:

一、数组

二、Math数学模块

三、Date时间模块

四、字符串包装类

五、相关练习

一、数组

 什么是数组?数据有什么用?

js的数组本质是一个双向链表结构,每一个元素都保存着上一个和下一个元素的内存地址,通过这些地址来访问相邻的元素。

这样做的好处是增/删除元素会比较方便,但是内存使用上一级访问元素的效率上略微差于C中的数组。

数组可以保存多个数据,方便开发者同时处理多个数据

(一)如何定义数组

第一种方式使用若数据语言特性进行赋值
arr = [1,2,3,4]
// 第二种方式 使用 new Array()
arr = new Array()
arr.push(1)
arr.push(2)
arr.push(3)
console.log(arr)
// 第三种 指定new array长度
arr = new Array(3)
arr[0] = 4
arr[1] = 5
arr[2] = 6
arr.push(1)
arr.push(2)
arr.push(3)
//第四种方式
arr = Array(5)
console.log(arr)

(二)数据的常用方法

1、拼接数组:arr3 = arr1.concat(arr2)

2、尾部添加元素:arr3.push("0000")

3、删除数组尾部元素: arr3.pop()

4、删除头部元素 :arr3.shift()

5、在头部添加元素 :arr3.unshift(10)

6、插入元素: arr3.splice(0,3)

7、取部分元素: let arr4 = arr3.slice(0,4)//左闭右开的区间[0,4)

8、反转数组:arr4 = arr3.reverse()

9、排序:arr4 = arr3.sort()

10、将数组拼接成字符串: arr4 = arr4.join("#")(可以指定拼接符号)

二、Math数学模块

πMath.PI
eMath.E
向下取整Math.floor(15.999999)
向上去整Math.ceil(15.000001)
四舍五入Math.round(15.499999)
绝对值Math.abs(-10)
开平方Math.sqrt(16)
取最大值Math.max(...arr)
取最小值Math.min(...arr)
随机数Math.random()
幂次运算Math.pow(4,0.5)

三、Date时间模块

(一)当前时间

let date = new Date()
console.log(date)

(二)设指定时间

date = new Date('2000-1-1 12:12:12')
console.log(date)

(三)时间戳(从1970-1-1 到现在有多少毫秒)

let timespan = date.getTime()
console.log(timespan)

(四)获取具体年月日时分秒

//年
let year = date.getFullYear()
console.log(year)
//月(从0开始的)
let month = date.getMonth()
console.log(month)
//日
let day = date.getDate()
console.log(day)
//时
let hour = date.getHours()
console.log(hour)
//分
let minutes = date.getMinutes()
console.log(minutes)
//秒 毫秒
let seconds = date.getSeconds()
let millseconds = date.getMilliseconds()

(五)定时器

let timer = setInterval(getTime,1000)
clearInterval(timer)

(六)重新遍历时间并修改样子

let clock = document.getElementById("clock")
clock.innerHTML = year + "-" + month + "-" + day + " " + hour + ":" + minutes + ":" + seconds

(七)延时执行

setTimeout(function(){
	clearInterval(timer)
}

四、字符串包装类

创建:let str = "1231231123"

字符串包装类常见的方法:

  //根据下标打印字符
let str = "i am your 2teacher3."
let str1 = "我是你们的老师"
console.log(str.charAt(2))
  //indexof 查看某个字符的第一个下标
console.log(str.indexOf('a'))
  //lastindexof 查看某个字符最后一个下标
console.log(str.lastIndexOf('a'))
  //查看某个字符的unicode编码
console.log(str.charCodeAt(0))
  //concat 拼接字符串
let str3 = str.concat(str1)
  //match search
str3 = str.match("\\d+")
  //replace 替换
str3 =  str.replace('a','b')

五、相关练习

     练习一:假如一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下从第0阶到第N阶共有几种走法。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>楼梯</title>
	</head>
	<body>
		<script>
			n=parseInt(prompt("请输入层数"))
			function jieti(n){
				if(n==1){
					return 1
				}
				if(n==2){
					return 2
				}
				return jieti(n-1)+jieti(n-2)
			}
			console.log(jieti(n))
		</script>
	</body>
</html>

       练习二:一对小兔子,4个月能长大,长大以后每个月生一对小兔子,求第n个月有多少对兔子。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			n=parseInt(prompt("请输入月数"))
			function tuzi(n){
				if(n<=4){
					return 1
				}
				return tuzi(n-1)+tuzi(n-4)
			}
			console.log("第"+ n + "个月有" + tuzi(n) + "对兔子")
		</script>
	</body>
</html>

都看到这里了,创作不易,大家点个赞再走呗!!- ̗̀(๑ᵔ⌔ᵔ๑)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祺祺祺有此理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值