前端——js补充

一、数学对象

1.随机数

// 0-1

console.log(Math.random());

// 0-9

console.log(Math.random() * 9);

// 6-13

console.log(Math.random() * (13 - 6) + 6);

//n-m

Math.random() * (m - n) + n

2.取整

// 向下取整

console.log(Math.floor(1.9));//1

// 向上取整

console.log(Math.ceil(1.1));//2

// 四舍五入

console.log(Math.round(1.49)); // 1

3.其他

console.log( (2.12312412).toFixed(2) );//2.12

console.log(Math.abs(-888));//888

console.log(Math);

二、定时器对象

1.定时炸弹

let d;

document.querySelector('#k').onclick = () => {

console.log("死歌开大!");

// 设为定时器

d = setTimeout(() => {

console.log("敌方全部,上路。");

}, 3000);

}

document.querySelector('#z').onclick = () => {

console.log("死歌被干掉,大招未成功。");

// 清除定时器

clearTimeout(d)

}

2.定时任务

let b

document.querySelector('#k').onclick = () => {

console.log('天气冷了。');

let i = 0;

// 设置定时任务

b = setInterval(() => {

console.log("妈妈:天气这么冷了,你咋还不穿秋裤?", i++);

}, 2000)

}

document.querySelector('#z').onclick = () => {

// 清除定时任务

clearInterval(b)

console.log("行行行,我穿还不行嘛。");

}

三、日期对象

1.当前时间

console.log(new Date());

2.特定时间

console.log(new Date('2024-06-26 20:00:00'));

console.log(new Date('2024-07-27 20:00:00'));

let d = new Date('2024-07-27 20:01:54');

console.log(d.getFullYear()); // 年

console.log(d.getMonth() + 1); // 月

console.log(d.getDate()); // 日

console.log(d.getHours()); // 时

console.log(d.getMinutes()); // 分

console.log(d.getSeconds()); // 秒

3.特殊时间

console.log(d.getTime()); // 时间戳 单位毫秒

console.log(d.getDay());

四、存储对象

1.临时存储

// 增加数据 // 修改数据

sessionStorage.setItem("宇智波厚度", "吊打一打七")

sessionStorage.setItem("宇智波厚度", "吊打一打七 + 干柿鬼鲛")

// 查数据

console.log(

sessionStorage.getItem("宇智波厚度")

);

// 删除数据

sessionStorage.removeItem("宇智波厚度")

// 清空

sessionStorage.clear()

2.永久存储

// 增加数据 // 修改数据

localStorage.setItem("宇智波厚度", "吊打一打七")

localStorage.setItem("宇智波厚度", "吊打一打七 + 干柿鬼鲛")

// 查数据

console.log(

localStorage.getItem("宇智波厚度")

);

// 删除数据

localStorage.removeItem("宇智波厚度")

// 清空

localStorage.clear()

五、同步和异步

1.同步

let time = 0;

// 吃早餐 10 、上课 100 、打游戏 20、聊天 20

console.log(` 吃早餐 10 `, time += 10);

console.log(` 上课 100 `, time += 100);

console.log(` 打游戏 20 `, time += 20);

console.log(` 聊天 20 `, time += 20);

console.log(time);

console.log(` 上课 100 吃早餐 10 打游戏 20 聊天 20`, time += 100);

2.异步

console.log(1);

// 异步代码

setTimeout(() => {

console.log(2);

}, 2000)

console.log(3);

六、promise对象

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>


  <script>

    new Promise((正常反馈, 异常反馈) => {
    //   // 异步代码
      setTimeout(() => {
        console.log('我是异步代码');
        正常反馈('我是异步代码12312');
      }, 2000)
    })
    .then((e)=>{
      console.log(e);
    })
    .catch(e=>{
      console.log(e);
    })



    function name() {
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          reject('xxx')
          resolve('1宇智波厚度');
          // console.log('1宇智波厚度');
        }, 2000)
      })
    }



    // 使用async 和 await 可以实现在函数内无异步
    (async ()=>{
      try{
        console.log(await name());
      }catch(e){
        console.error(e);
      }

      console.log("2我就是宇智波厚渡!");
    })()
    
    

    // name().then((result) => {
    //   console.log(result);
    // })
    // console.log("2我就是宇智波厚渡!");


  </script>


</body>

</html>
相关推荐
zczlsy119 分钟前
webpack介绍
前端·webpack·node.js
六个点11 分钟前
关于vue的面试考点总结🤯
前端·vue.js·面试
浪遏42 分钟前
今晚揭开单例模式的面纱~
前端·设计模式·面试
驯龙高手_追风1 小时前
谷歌Chrome或微软Edge浏览器修改网页任意内容
前端·chrome·edge
luckyext2 小时前
Postman发送GET请求示例及注意事项
前端·后端·物联网·测试工具·小程序·c#·postman
dorabighead2 小时前
重构版:JavaScript 的 new 操作符——从“黑箱仪式”到“亲手造物”的认知跃迁
开发语言·javascript·重构
小满zs2 小时前
React第三十章(css原子化)
前端·react.js
一直在学习的小白~2 小时前
前端项目中创建自动化部署脚本,用于 Jenkins 触发 npm run publish 来完成远程部署
前端·自动化·jenkins
Humbunklung2 小时前
C#中通过Response.Headers设置自定义参数
开发语言·c#
Trouvaille ~2 小时前
【Java篇】一法不变,万象归一:方法封装与递归的思想之道
java·开发语言·面向对象·javase·递归·方法·基础入门