模糊查询
//数组的filter 字符串的indexOf
var arr = ["aaa", "abc", "bcc", "bcd", "ddd", "ccd"]
var res = arr.filter(function (item) {
// return item === "abc"
return item.indexOf("b") > -1
})
console.log(res);
json格式字符串
对象转字符串: var obj = JSON.parse(str)
字符串转对象 : var str1 = JSON.stringify(obj1)
Math对象
//随机数
console.log(Math.random());
// round 四舍五入取整
console.log(Math.round(4.56));
// ceil 向上 floor向下
console.log(Math.ceil(4.4));
console.log(Math.floor(4.4));
// abs绝对值
console.log(Math.abs(-10.2));
// sqrt平方根 9
console.log(Math.sqrt(25));
// pow(底数,指数)
console.log(Math.pow(2, 3));
// max(多个参数)
console.log(Math.max(1, 4, 8));
// min(多个参数)
console.log(Math.min(6, 4, 6));
// PI
console.log(Math.PI);
时间对象
// gerFullYear()
console.log(date.getFullYear());
// getMonth() 0-11 -->1-12
console.log();
// getDate() 获取周
console.log(date.getDate());
// getDay() 周日0 周-~周六1~6
console.log(date.getDay());
// gerHours
console.log(date.getHours());
console.log(date.getMinutes());
console.log(date.getSeconds());
//getTime() 时间戳
console.log(date.getTime());
console.log(new Date(1672019659168));
// 设置
console.log(date);
// console.log(date.setFullYear(2025));
date.setMonth(5)
// console.log(date);
date.setDate(25)
// console.log(getDate);
date.setHours(13)
date.setMinutes(13)
date.setSeconds(13)
date.setTime(1672019659168)
console.log(date);
倒计时
var currentDate = new Date()
var targetDate = new Date("2023/1/1")
console.log(targetDate - currentDate);//时间戳差值
function diffTime(current, target) {
var sub = Math.ceil((target - current) / 1000)
// 天
var day = parseInt(sub / (60 * 60 * 24))
var hours = parseInt(sub % (60 * 60 * 24) / (60 * 60))
var minutes = parseInt(sub % (60 * 60) / 60)
var seconds = sub % 60
var obj = {
day: day,
hours: hours,
minutes: minutes,
seconds: seconds
}
return obj
}
setInterval(function () {
var currentDate = new Date()
var res = diffTime(currentDate, targetDate)
// console.log(res);
// document.write(`新年1月1日-${res.day}天${res.hours}时${res.minutes}分${res.seconds}秒 <br>`)
box.innerHTML = `新年1月1日-${res.day}天${res.hours}时${res.minutes}分${res.seconds}秒 <br>`
}, 1000)
定时器
var time1 = setTimeout(function () {
console.log("kerwin");//两秒后执行1次
}, 2000)
var time2 = setInterval(function () {
console.log("11111");//每一秒执行
}, 1000)//注册间隔定时器
BOM
// BOM 浏览器对象模型
// 其实就是操作浏览器的一些能力
//操作内容:
// 获取一些浏览器的相关信息
// 操作浏览器进行页面跳转
// 获取当前浏览器地址栏的信息
// 操作浏览器的滚动条
// 浏览器的信息(浏览器的版本)
// 让浏览器出现弹出框(alert/confirm/prompt)
// BOM的核心就是window对象
// window是浏览器内置的一个对象,里面包含着操作浏览器的方法
弹出层: alert,prompt, 地址栏: location.href
递归函数
递归函数:当一个函数在函数的内部,调用了自身,那么就算是一个所谓的递归函数
function fn(n) {
//计算3的阶乘
if (n > 1) {
return n * fn(n - 1)
}
return 10.
}
console.log(fn(3));
BOM常见事件
onload:页面所有得资源都加载完后执行,(图片,视频,dom)
onresize:resize 事件是在浏览器窗口被重置时触发的 , 如当用户调整 窗口大小, 或者最大化、最小化、恢复窗口大小显示时触发 resize 事件
。
onscroll:滚动达到指定距离触发
open:Open 事件发生在 Load 事件之前,在窗体打开并显示其记录时触发该事件。
close:Close 事件发生在 Unload 事件之后,该事件在窗体关闭之后、从屏幕上删除之前触发。
historywindow有一个对象叫做history,专门存储历史记录信息
history.back:前提你要有上一条记录,不然就是一直在这个页面,页不会回退
history.forword前进,history.go()正前进 -回退 数字代表前进/后退几(go)个页面
本地存储
localStorage 永久存储
// 增
localStorage.setItem("name", "kerwin")
// 取
localStorage.getItem("name")
// 删
localStorage.removeItem("name")
// 清空
localStorage.clear()
// sessionStorage 暂时存储
// 增
sessionStorage.setItem("name", "kerwin")
// 取
sessionStorage.getItem('name')
// 删
sessionStorage.removeItem("name")
// 清空
sessionStorage.clear()