前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分享十个常用的 js函数

分享十个常用的 js函数

原创
作者头像
就叫7620521吧
修改2023-11-13 00:02:56
1250
修改2023-11-13 00:02:56
举报
文章被收录于专栏:征文活动专栏征文活动专栏

简言

分享几个我自己经常用到的函数

检查变量是否为空

代码语言:javascript
复制
function isEmpty(value) {  
    return value === null || value === undefined || value === '';  
}

根据key获取cookie值

代码语言:javascript
复制
function getCookie(name) {  
    let cookieArr = document.cookie.split(";");  
    for(let i = 0; i < cookieArr.length; i++) {  
        let cookiePair = cookieArr[i].split("=");  
        if(name == cookiePair[0].trim()) {  
            return decodeURIComponent(cookiePair[1]);  
        }  
    }  
    return null;  
}

获取url中的参数

代码语言:javascript
复制
function getQueryParams(url) {  
  let urlObj = new URL(url);  
  let params = new URLSearchParams(urlObj.search);  
  return params;  
}

获取时间函数

代码语言:javascript
复制
function getCurrentDateTime() {  
  let now = new Date();  
    
  let year = now.getFullYear();  
  let month = now.getMonth() + 1;  
  let day = now.getDate();  
  let hours = now.getHours();  
  let minutes = now.getMinutes();  
  let seconds = now.getSeconds();  
    
  // 格式化日期时间字符串  
  let formattedDateTime = `${year}-${padZero(month, 2)}-${padZero(day, 2)} ${padZero(hours, 2)}:${padZero(minutes, 2)}:${padZero(seconds, 2)}`;  
    
  return formattedDateTime;  
}  
  
// 辅助函数:用于在小于10的数字前面补0,以确保两位数格式  
function padZero(number, size) {  
  let s = number < 10 ? '0' : '';  
  return s + number.toString().substr(0, size);  
}

获取随机数

代码语言:javascript
复制
function getRandomInt(min, max) {  
    min = Math.ceil(min);  
    max = Math.floor(max);  
    return Math.floor(Math.random() * (max - min + 1)) + min;   
}

获取触摸时间/距离函数

代码语言:javascript
复制
function touchmove(dom, callback) {
    //起始
    let startX;
    let startY;
    let startTime;
    // 结束
    let endX;
    let endY;
    let endTime;
    // 移动
    let moveX;
    let moveY;
    let moveTime;
    
    // 监听触摸开始
    dom.addEventListener("touchstart", (e) => {
        // 获取开始触摸的时间 X和Y的位置
        startTime = new Date().getTime();
        startX = Math.round(e.touches[0].screenX);
        startY = Math.round(e.touches[0].screenY);
    },);
    
    // 监听触摸结束
    dom.addEventListener("touchend", (e) => {
        // 结束触摸时间 X和Y离开的位置
        endTime = new Date().getTime();
        endX = Math.round(e.changedTouches[0].screenX);
        endY = Math.round(e.changedTouches[0].screenY);
        // 算一下触摸的 上下/左右 的距离
        moveX = startX - endX;
        moveY = startY - endY;
        moveTime = endTime - startTime;
        
        // 给个条件 上下/左右30px或者触摸时间超过 500ms 
        
        if (Math.abs(moveY) > 30 || Math.abs(moveX) > 30 || moveTime > 500) {
            // 判断方向 触发回调函数并把数据对象传回
            if (Math.abs(moveX) > Math.abs(moveY)) {
                //左右
                moveX > 0
                    ? callback({ direction: "right", to: 'left', value: moveX })
                    : callback({ direction: "left", to: 'right', value: Math.abs(moveX) });
            } else {
                //上下
                moveY > 0
                    ? callback({ direction: "down", to: 'up', value: moveY })
                    : callback({ direction: "up", to: 'down', value: Math.abs(moveY) });
            }
        }
    },);
}

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简言
    • 检查变量是否为空
      • 根据key获取cookie值
        • 获取url中的参数
          • 获取时间函数
            • 获取随机数
              • 获取触摸时间/距离函数
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档