前端——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>
相关推荐
mjhcsp4 小时前
C++ 背包DP解析
开发语言·c++
yq1982043011564 小时前
使用Django构建视频解析网站 从Naver视频下载器看Web开发全流程
前端·django·音视频
尘缘浮梦4 小时前
协程asyncio入门案例 2
开发语言·python
juleskk4 小时前
2.15 复试训练
开发语言·c++·算法
一个处女座的程序猿O(∩_∩)O4 小时前
Python面向对象的多态特性详解
开发语言·python
yngsqq4 小时前
多段线顶点遍历技巧(适用闭合和非闭合)
开发语言
李明卫杭州4 小时前
在 JavaScript 中,生成器函数(Generator Function)
前端·javascript
宇木灵4 小时前
C语言基础-五、数组
c语言·开发语言·学习·算法
Lethehong5 小时前
从安装到实测:基于 Claude Code + GLM-4.7 的前端生成与评测实战
前端
恋猫de小郭5 小时前
iOS + AI ,国外一个叫 Rork Max 的项目打算替换掉 Xcode
android·前端·flutter