一、字符串
(1) 字符串声明
JavaScript
语法中通过String
表示字符串,语法中一般显示为单引号或者双引号包含的一串字符;声明方式一般有两种:
① 字面量(常见)
// 1、字面量方式
var techVersion = "V2022.2" // 'V2022.2'
console.log( techVersion, "字面量")
② 对象创建
// 2、对象方式
var techInfo = new String("JavaScript")
console.log(techInfo, "对象")
(2) 字符串内存分析
函数 | 描述 |
---|---|
charAt() |
查询某个索引的字符 |
charCodeAt() |
查询某个字符的ascii 码 |
includes(s) |
查询是否包含某个字符串s
|
indexOf(s) |
查询某个字符第一次出现的索引 |
lastIndexOf(s) |
查询某个字符最后一次出现的索引 |
match(s) |
查询某个字符串中是否包含目标字符串(开头位置) |
search(s) |
查询某个字符串中是否包含目标字符串(所有位置) |
startsWith(s) |
查询某个字符串是否以指定字符开头 |
endsWith(s) |
查询某个字符串是否以指定字符结尾 |
toUpperCase() |
将字符串所有字符转换成大写 |
toLowerCase() |
将字符串所有字符转换成小写 |
replace() |
替换字符串中的数据 |
repalceAll() |
替换字符串中所有匹配的数据 |
slice() |
截取字符串 |
substr(start, cnt) |
截取字符串 |
substring(start, end) |
截取字符串 |
trim() |
剔除字符串两侧空格 |
trimLeft() / trimStart() |
剔除字符串左侧空格 |
trimRight() / trimEnd() |
剔除字符串右侧空格 |
split() |
使用指定字符拆分字符串 |
padStart() |
字符串位数补全ES6
|
padEnd() |
字符串位数补全ES6
|
二、数学对象
属性 | 函数 | 是否常用 |
---|---|---|
Math.E |
自然对数的底数,常量,2.718
|
基本不用 |
Math.LG10 |
10的对数 | 基本不用 |
Math.LN2 |
2的对数<br />Math.LOG10E 、Math.LOG2E .. |
基本不用 |
Math.PI |
圆周率,常量,3.14159
|
基本不用 |
Math.abs() |
abs: absolute ,表示获取一个数据的绝对值 |
|
Math.acos() |
三角函数,反余弦值 | 基本不用 |
Math.asin() |
三角函数,反正弦值 | 基本不用 |
Math.atan() |
三角函数,反正切值 | 基本不用 |
Math.cos() |
三角函数,余弦值 | 基本不用 |
Math.sin() |
三角函数,正弦值 | 基本不用 |
Math.tan() |
三角函数,正切值 | 基本不用 |
Math.floor() |
向下取整,如1.2 -> 1; 1.6-> 1; 0.5 -> 0
|
常用 |
Math.ceil() |
向上取整,如1.2 -> 2; 1.6 -> 2; 0.5 -> 1
|
常用 |
Math.trunc() |
截断小数部分,如1.2-> 1; 1.6-> 1, 0.5 -> 0
|
常用 |
Math.round() |
四舍五入,如1.2 -> 1; 1.6 -> 2; 0.5 -> 1
|
常用 |
Math.max() |
获取一系列数据中的最大值 | 常用 |
Math.min() |
获取一系列数据中的最小值 | 常用 |
Math.pow(x, y) |
获取x数据的y次方,指数运算 | |
Math.sqrt(x) |
获取x数据的平方根 | |
Math.random() |
获取一个0~1之间的随机数 | 常用 |
三、日期对象
(1) 创建日期对象
JavaScript
针对日期时间,提供了一个内置对象Date
,主要用于日期和时间的处理
创建一个当前日期对象:
var date = new Date()
创建一个指定的日期对象:
var date = new Date('2022-10-1 00:00:00')
函数 | 描述 |
---|---|
date.getFullYear() |
获取年份 |
date.getMonth() |
获取月份,月份以0~11表示 |
date.getDate() |
获取一个月第几天 |
date.getDay() |
获取一周第几天 |
date.getHours() |
获取小时 |
date.getMinutes() |
获取分钟 |
date.getSeconds() |
获取秒钟 |
date.getMilliSeconds() |
获取毫秒 |
date.getTime() |
获取1970/1/1 0:0:0年到现在的毫秒数 |
date.setFullYear() |
设置年份 |
date.setMonth() |
设置月份 |
(2)日期时间展示案例
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>尊敬的管理员,欢迎访问本系统,现在时间是: <span id="time">xxxx-xx-xx xx:xx:xx</span></div>
<script>
// window.onload :等待网页中所有标签加载完成后,再执行事件中的代码
// 网页加载事件:保障代码运行时,网页标签已经加载完成
window.onload = function () {
// 获取当前时间的函数
function getCurrentTime() {
// 1、获取当前时间
var date = new Date() // var date = Date.now()
// 2、拼接时间
var t = date.getFullYear() + "年"
+ (date.getMonth() + 1) + "月"
+ date.getDate() + "日 "
+ date.getHours() + ":"
+ date.getMinutes() + ":"
+ date.getSeconds()
return t
}
// 3、填写到页面中
var _time = document.getElementById("time")
_time.innerText = getCurrentTime()
}
</script>
</body>
</html>
四、延时函数
JavaScript
语法中针对需要经过一定时间再去执行的函数、或者间隔一定时间去执行的函数,提供了两种功能性延时函数:
-
setTimeout(fn, time)
:代码运行到该函数,等待time
毫秒后执行一次fn
函数-
clearTimeout()
清除延时函数
-
-
setInterval(fn, time)
:代码运行到该函数,每间隔time
毫秒就会执行一次fn
函数-
clearInterval()
清除即使函数
(1) 基本语法
①setTimeout()
-
<body>
<div id="msg">普天之下莫非王土</div>
<button id="btn">点击测试setTimetout</button>
<button id="cancel">清除延时函数</button>
<script>
// 1、setTimeout
var _msg = document.getElementById("msg")
var _btn = document.getElementById("btn")
var _cancel = document.getElementById("cancel")
var time;
// 点击添加延时延时
_btn.onclick = function() {
// 延时函数:2S后执行
time = setTimeout(function() {
_msg.innerText = "率土之滨莫非王臣"
}, 5000)
}
// 点击取消延时函数
_cancel.onclick = function() {
clearTimeout(time)
}
</script>
</body>
② setInterval()
// 2、setInterval
var _start = document.getElementById("start")
var _end = document.getElementById("end")
var inter;
_start.onclick = function() {
inter = setInterval(function() {
console.log("setInterval执行了...")
}, 1000)
}
_end.onclick = function() {
clearInterval
五、特效-倒计时
![](https://img.haomeiwen.com/i28507589/3d36bddfa24a0e22.png)
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
请输入目标时间:
<input type="text" id="target">
<button id="btn">开始倒计时</button>
<div id="show">00 天 00 时 00 分 000</div>
<script>
window.onload = function() {
// 1、获取要操作的标签对象 | DOM对象
var _btn = document.getElementById("btn")
var _show = document.getElementById("show")
var _target = document.getElementById("target")
// 2、单击按钮
var time;
_btn.onclick = function() {
time = setInterval( function() {
// 间隔80毫秒,执行一次倒计时函数
var r = getTime()
if(r){
_show.innerText = r[0] + "天 " + r[1] + "时 " + r[2] + "分 " + r[3] + "秒 " + r[4]
}
}, 80)
// getTime()
}
// 封装:获取倒计时时间的函数
function getTime() {
// 2-1 计算时差
var now = new Date()
var tgt = new Date(_target.value)
console.log(now, tgt, "倒计时需要的时间数据")
var distance = tgt - now
// 两个时间相减,得到这两个日期之间的毫秒数
// console.log(distance, " 时间差")
if(distance <= 0) {
alert("选择的目标时间必须大于当前时间")
clearInterval(time)
return
}
// 2-2 计算 毫秒数-> ?天 ?时 ?分 ?:?:?:?
var d = Math.floor(distance /( 1000*60*60*24))
console.log(d, "剩余天数")
var h = Math.floor(distance / (1000 * 60 * 60) % 24)
console.log(h, "剩余小时")
var m = Math.floor(distance / (1000 * 60) % 60)
console.log(m, "剩余分钟")
var s = Math.floor(distance / (1000) % 60)
console.log(s, "剩余秒钟")
var ms = distance % 1000
console.log(ms, "剩余毫秒")
return [d.toString().padStart(2, 0),
h.toString().padStart(2, 0),
m.toString().padStart(2, 0),
s.toString().padStart(2, 0),
ms.toString().padStart(3, 0)]
}
}
</script>
</body>
</html>
网友评论