22 12.25-12.28

106 阅读3分钟

模糊查询

//数组的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()