web前端网页开发中常用js封装方法

前言

web前端网页开发中,经常用到一些常用的方法,有时候会在多个页面重复写,就造成了代码冗余,所以这里我封装成了一个公共js,方便调用。

代码【main.js】

/**
 * 获取url链接后的参数
 * 参数存在返回参数值,不存在返回null
 * @param name
 * @returns {string|null}
 */
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]);
    return null;
}

/**
 * 获取当前url的相对路径
 * @returns {string}
 */
function getUrlRelativePath()
{
    var url = document.location.toString();
    var arrUrl = url.split("//");
    var start = arrUrl[1].indexOf("/");
    var relUrl = arrUrl[1].substring(start);
    if(relUrl.indexOf("?") != -1){
        relUrl = relUrl.split("?")[0];
    }
    return relUrl;
}

/**
 * 日期时间格式化
 * @param fmt
 * @returns {*|void|string}
 * @constructor
 */
Date.prototype.Format=function(fmt){
    var o={
        "M+":this.getMonth()+1,//月份
        "d+":this.getDate(),//日
        "H+":this.getHours(),//小时
        "m+":this.getMinutes(),//分
        "s+":this.getSeconds(),//秒
        "q+":Math.floor((this.getMonth()+3)/3),//季度
        "S+":this.getMilliseconds()//毫毛
    };
    if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

/**
 * 判断是否为undefined
 * @param value
 * @returns {boolean}
 */
function isUndefine(value) {
    return typeof(value) == undefined ? true : false
}

/**
 * 判断对象是否为空
 * @param obj
 * @returns {boolean}
 */
function isEmptyObj(obj) {
    return JSON.stringify(obj) == "{}" ? true : false
}

/**
 * 判断是否为
 * @param value
 * @returns {boolean}
 */
function isNaNType(value) {
    if (typeof(value) === "number" && isNaN(value)) {
        return true;
    } else {
        return false;
    }
}

/**
 * 合并数组
 * @param arr1
 * @param arr2
 * @returns {any[] | string}
 * @constructor
 */
function ContactArr(arr1,arr2){
    return arr1.concat(arr2)
}

/**
 * 筛选数组对象中符合条件的数组
 * @param arrObj
 */
function filtterArr(arrObj){
    let newarr= arrObj.filter((value, index, arr) => {
        return value.name == "li"//将数组对象中name==li的对象筛选出来变为新数组[{name:li,age:19}]
    })
}

js调用或下载地址

https://static.52gh.top/typecho/uploads/2021/10/2630540604.js

直接在html中引用

<script type="text/javascript" src="//static.52gh.top/typecho/uploads/2021/10/2630540604.js"></script>

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/procedure/29750.html

发表评论

登录后才能评论