js常见问题

js常见问题

1.滚动加载

    function onScroll() {
        if (this.curPage > this.totalPage) return;
        var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
        var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight;
        var windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
        if (scrollTop + windowHeight > scrollHeight - 100) {
            // flagData防止触发多次
            if (!this.flagData) return;
            this.flagData = false;
            this.getSingerList();//请求数据成功后 page+1, this.flagData = true;
        }
    }

2.获取特定对象的值,key忽略大小写

let options={
    shareUserId:123,
}
// let shareUserId=options.shareUserid||options.shareUserId||options.shareUserID;

for (let item in options){
    if(item.toLowerCase()=='shareuserid'){
        let shareUserId=options[item];
        console.log(shareUserId);//123
    }
}

3. 获取地址中的参数值

function getUrlParam(name, url) {
  if (!url) url = location.href;
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(url);
  return results == null ? null : results[1];
}

4.格式化时间

/**
 * 格式化时间
 * @ date 时间参数,传入字符串
 * @ fmt 时间显示格式,‘yyyy-MM-dd hh:mm:ss’
 */
function formatDate(time, fmt) {
    if(!time) return '';
    var date = new Date(time);
    var o = {
        'y+': date.getFullYear(),
        'M+': date.getMonth() + 1,
        'd+': date.getDate(),
        'h+': date.getHours(),
        'm+': date.getMinutes(),
        's+': date.getSeconds()
    };
    for (var k in o) {
        if (new RegExp('(' + k + ')').test(fmt)) {
            var str = o[k] + '';
            fmt = fmt.replace(RegExp.$1, (str.length === 1) ? ('0' + str) : str);
        }
    };
    return fmt;
}

5.版本号比较

function versionCompare(curV, reqV) {
        var arr1 = curV.split('.');
        var arr2 = reqV.split('.');
        //将两个版本号拆成数字 
        var maxL = Math.max(arr1.length, arr2.length);
        var pos = 0; //当前比较位
        var diff = 0; //当前为位比较是否相等
        //逐个比较如果当前位相等则继续比较下一位
        while (pos < maxL) {
            diff = parseInt(arr1[pos]||0) - parseInt(arr2[pos]||0);
            if (diff != 0) break;
            pos++;
        }
        if (diff >= 0) {
            return true;
        } else {
            return false;
        }
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101129.html原文链接:https://javaforall.net

(0)
上一篇 2021年6月30日 上午8:00
下一篇 2021年6月30日 上午9:00


相关推荐

  • linux系统怎么利用LVM扩容

    linux系统怎么利用LVM扩容引言:在linux系统下,如果在虚拟机层面进行扩容,首先是挂载一块虚拟机硬盘,然后在linux系统底下去分区,然后对挂载到新的目录,但是,如果是对linux系统里面的文件目录本身进行扩容的话,只能使用LVM来进行扩容,本文将分两部分介绍,第一部分是如何创建LVM的分区,第二部分是如何对文件目录本身利用LVM来进行扩容:创建LVM分区:1如下图,我这里有一块硬盘已经分区,如果直接对这块硬盘创建LVM分区,会报错,因此,可以先清除掉这块硬盘的分区这里本身已经分了区,如果要使用这块硬盘进行L…

    2022年6月20日
    32
  • webstrom的格式化代码快捷键

    webstrom的格式化代码快捷键windows下webstorm格式化代码的快键键Ctrl+Alt+lmac下webstorm格式化代码的快捷键Option+Command+lcentOS下webstorm格式化代码的快捷键Ctrl+Shift+l windows下webstorm格式化代码的快键键Ctrl+Alt+lmac下webstorm格式化代码的快捷键Option+Command+l…

    2022年5月2日
    45
  • 蒂森MC2服务器显示FC00,蒂森电梯MC2常用功能地址参数设置说明.pdf[通俗易懂]

    蒂森MC2服务器显示FC00,蒂森电梯MC2常用功能地址参数设置说明.pdf[通俗易懂]C1/12MC2A00TEXXXX–TS1.MC21.1.A000/F000A001/F0011.2.MF3/MF4/MS3A/BMP1MPMS31.3.//j1.4.1.5.A3001.6.1.7.1.8.C2/12MC2A00TEXXXX–TSA2C21MP1.71.9.1.10.C…

    2022年5月20日
    369
  • 什么是驻点和拐点_驻点、极值点、拐点间的“爱恨情仇”

    什么是驻点和拐点_驻点、极值点、拐点间的“爱恨情仇”目录 一 极值点与驻点的 纠缠 1 驻点不一定是极值点 2 极值点也不一定是驻点 3 可导函数的极值点必定是它的驻点二 拐点和另两者的 牵扯 1 拐点的横坐标是极值点 2 可以即是极值点 又是拐点的横坐标么 3 连续函数的驻点不是极值点就是拐点的横坐标么 名字纯属瞎扯 这篇文章主要是总结一下驻点 极值点 拐点间的区别和联系 一 极值点与驻点的 纠缠 极值点和驻点容易搞混的一个重要原因 是我们高中

    2026年3月18日
    2
  • arpspoof怎么安装_添加静态arp的命令

    arpspoof怎么安装_添加静态arp的命令安装参考https安装测试安装是否成功arpspoofVersion2.4Usage。

    2022年10月6日
    6
  • C++ byte数组/char数组 截取部分字节

    C++ byte数组/char数组 截取部分字节VS-C++系列:所有相关C++文章链接.VS-C#系列:所有相关C#文章链接.bat系列:所有相关bat文章链接.Keil系列:所有相关文章链接所有内容均以最小系统调试成功;逐步提供低分源码工程下载!保证每行代码都经过验证!如有疑惑,欢迎留言,看见即回;祝好__byDxg_LC序言:1、以上链接为方便整理查看资料用;伴随博文发布更新,如果有不正确处,感谢指正2、因本人能力有限若有不正确之处或者相关超链接失效,请于相关文章内提醒@博主;灰常感谢3、友情提醒1,勿要《一支烟

    2022年5月22日
    124

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号