美文网首页
前端开发常用的js函数

前端开发常用的js函数

作者: 蜡笔小序 | 来源:发表于2019-11-29 15:55 被阅读0次

1、promise封装的jquery中的ajax函数

function ajaxRequest(url,params,type,timeout){
 return new Promise((reslove,reject)=>{
     $.ajax({
         url,
         type:type || 'get', //默认get
         dataType:'json',
         data: params || '', 
         headers:{"Content-Type":"application/json;charset=utf-8;"},
         timeout: timeout || 120000 , // 默认请求2分钟
         success: (data)=>{
             resolve(data);
         },
         error: (error)=>{
             reject(error);
         }
     })
 }).catch(()=>{
     alert('请求超时!')
 });
}
//get 使用 
 ajaxRequest(`url`).then((res)=>{console.log(res)})
// post或其他请求
 ajaxRequest(`url`,p,'post').then((res)=>{console.log(res)})

2、获取地址栏中的指定参数

function getUrlParam(name){
  //构造一个含有目标参数的正则表达式对象
  let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); 
  let r = window.location.search.substr(1).match(reg); //匹配目标参数
  if (r != null) return unescape(r[2]); return null; //返回参数值
}
// 使用 
console.log(getUrlParam('name'))

3、过滤没有值(值为空或null)的参数

function hasval(obj){
 if(obj && obj!=={}){
     for(let k in obj){
       if(obj[k] === ''){
           delete obj[k]
       } else if(obj[k] === null || obj[k] === undefined || obj[k] === 'null'){
           delete obj[k]
       }  else if(obj[k] instanceof Array && obj[k].length === 0){
             delete obj[k]
       } else if (JSON.stringify(obj[k]) == "{}"){
             delete obj[k]
        }
     }
     return obj
 }
}
// 使用 
let p = {name:'',age:12};
let ps = hasval(p) // {age:12};

4、分钟转化成 00:00格式

function tomint(time){
 let lasttime = '';
 if(time<60){
     lasttime = time < 10 ? `00:0${time}`: `00:${time}`;
 } else {
     let m = time%60 < 10 ? `0${time%60}` : time % 60;
     let h = (time - m)/60 < 10 ? `0${(time-m)/60}` :(time-m)/60;
     lasttime = `${h}:${m}`;
 }
 return lasttime;
}
console.log(tomint(90)) // 01:30

5、时间转化为时间戳

function getTime(dateString) { //时间转时间戳
    let date = dateString;
    date = new Date(Date.parse(date.replace(/-/g, "/")));
    date = date.getTime();
    return date;
}
console.log(getTime('2019-2-19')) // 1550505600000

6、比较两个时间的大小

function judetime(time1,time2){
 let t1 = new Date(time1);
 let t2 = new Date(time2);
 if (t1.getTime() > t2.getTime()) {
     return '第一个时间大于第二个时间'
 } else if (t1.getTime() == t2.getTime()){
     return '第一个时间等于第二个时间' 
 } else {
     return '第一个时间小于第二个时间'
 }
}
console.log(judetime('2019-10-1','2019-10-5'))

7、时间戳转为日期 不带时分秒

function getLocalTime(nS) {  //时间戳转时间   不带时分秒
    let date = new Date(nS);
    Y = date.getFullYear() + '-';
    M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
    D = (date.getDate() < 10 ? '0'+(date.getDate()) : date.getDate());
    return Y+M+D;
}
console.log(getLocalTime(new Date()))

8、时间戳转日期 带时分秒

function getLocalTimeHFS(shijianchuo) { //时间戳转时间    带时分秒
    let time = new Date(shijianchuo);
    let y = time.getFullYear();
    let m = time.getMonth()+1 < 10 ? '0'+time.getMonth()+1:time.getMonth()+1;
    let d = time.getDate() < 10 ? '0'+time.getDate():time.getDate();
    let h = time.getHours() < 10 ? '0'+time.getHours():time.getHours();
    let mm = time.getMinutes() < 10 ? '0'+time.getMinutes():time.getMinutes();
    let s = time.getSeconds() < 10 ? '0'+time.getSeconds():time.getSeconds();
    return `${y}-${m}-${d} ${h}:${mm}:${s}` ;
}
console.log(getLocalTimeHFS(new Date()))

9、当前日期增加指定月份

function addMonth(sDate, n) { // 月份新增 sDate是个时间戳
 let num = parseInt(n);
 let sYear = sDate.getFullYear();
 let sMonth = sDate.getMonth() + 1;
 let sDay = sDate.getDate();
 let eYear = sYear;
 let eMonth = sMonth + num;
 let eDay = sDay;
 while (eMonth > 12) {
     eYear++;
     eMonth -= 12;
 }
 var eDate = new Date(eYear, eMonth - 1, eDay);

 while (eDate.getMonth() != eMonth - 1) {
     eDay--;
     eDate = new Date(eYear, eMonth - 1, eDay);
 }
 return getLocalTime(eDate);
}
console.log(addMonth(new Date(),8)) 

10、获取当月的上个月第一天

function getlastmonthFirstday(){ //获取当月的上一个月第一天
  let d = new Date;
 let y = d.getFullYear();
 let m = d.getMonth();
 let day = ''
 if (m === 0) {
     day = `${y - 1}-12-01`;
 } else {
     if (m < 10) {
         day = `${y}-0${m}-01`;
     } else {
         day = `${y}-${m}-01`;
     }
 }
 return day;
}
console.log(getlastmonthFirstday())

11、按照指定长度为数字前面补零

function prefixInteger(num, length) {  // 照指定长度为数字前面补零 num为值 length为长度
 return (Array(length).join(&#39;0&#39;) + num).slice(-length);
}
console.log(prefixInteger(8, 9)) 0000000081

12、把数组中的String型数字转为Number型

function toNum(str){ //把数组中的字符型数字 转为数字型
 let arrnum = [];
 for(let i = 0 ;i<str.length;i++){
     arrnum.push(str[i]*1)
 }
 return arrnum
}
console.log(toNum(['1','2','3'])) // [1,2,3]

相关文章

  • 前端开发常用js函数

    1.获取URL中所传的参数中的值 2. 60秒倒计时函数 3.判断当月总天数的函数 4.获取当前时间,格式YYYY...

  • 前端开发常用的js函数

    1、promise封装的jquery中的ajax函数 2、获取地址栏中的指定参数 3、过滤没有值(值为空或null...

  • JS开发常用工具函数

    原作版本 原文链接:# JS开发常用工具函数

  • 好程序员web前端培训分享js常用函数

    好程序员web前端培训分享js常用函数 1.常规函数 javascript常规函数包括以下9个函数: (1)ale...

  • 前端常用功能函数集锦

    前端常用功能函数集锦。收集起来,快速开发。 1,parseTime() 格式化时间函数,后端返回时间戳,前端显示年...

  • JS开发常用函数

    1、isStatic:检测数据是不是除了symbol外的原始数据 function isStatic(value)...

  • 模块化开发

    前端JS模块化开发有两大规范AMD合CMD,下面以我的理解来简单总结一下模块化开发的思想 ,以及js前端常用的AM...

  • js 原生ajax的封装

    概念 ajax是前端常用技术,今天用原生js封装了一个ajax函数,类似于jquery库的$.ajax()函数,大...

  • 前端开发之JS(函数)

    函数语法 函数的调用 函数的参数 原始类型 实参小于形参个数 实参大于形参个数 实参有多个 参数为对象类型 引用传...

  • 前端开发中常用的函数

    整理一下工作中经常用到的方法,给自己一个保存的地方,同时也分享给大家。:) js处理input中的空白字符串 te...

网友评论

      本文标题:前端开发常用的js函数

      本文链接:https://www.haomeiwen.com/subject/rnrgwctx.html