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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab debounce,Debounce Temporal Properties

    matlab debounce,Debounce Temporal PropertiesTemporalOperatorsTheSimulink®DesignVerifier™libraryprovidesthreebasictemporaloperatorblockscanbeusedtomodeltemporalproperties.Theintentofthetemporaloperatorsistosupportthe…

    2022年6月20日
  • c#启动外部程序_winform程序自动更新

    c#启动外部程序_winform程序自动更新//class里面放入这段代码[DllImport(“shell32.dll”)]publicstaticexternintShellExecute(IntPtrhwnd,StringBuilderlpszOp,StringBuilderlpszFile,StringBuilderlpszParams,StringBuilderlpszDir,intFsShowCmd);//需要打开的地方插入此段代码ShellExecute(IntPtr.Zero,newStr

    2022年8月30日
  • flag_activity_new_task 简单_android startactivityforresult

    flag_activity_new_task 简单_android startactivityforresult2019独角兽企业重金招聘Python工程师标准>>>…

    2022年9月27日
  • 关于后端代码的总结_辐射4最强防具代码

    关于后端代码的总结_辐射4最强防具代码JavaScript是脚本语言,是一种解释性脚本语言(代码不进行预编译)

    2022年10月20日
  • leapftp乱码_如何用网格本做笔记

    leapftp乱码_如何用网格本做笔记生活对我下了手2019年7月23星期二大晴天1.主要掌握怎么连接服务器2.单个文件上传3.整个文件夹上传leapftp界面主要功能板块介绍1.管理ftp服务器配置的地方2.服务器网站文件窗口界面3.上传状态的窗口界面4.正在上传的文件窗口界面5.本地电脑文件窗口界面怎么连接ftp服务器服务器上要有ftp服务,1.你要有ftp服务器的账号,2.你要有ftp服务器的密…

    2022年10月28日
  • python循环语句for怎么用_python编程

    python循环语句for怎么用_python编程Python的for循环for语句是Python中执行迭代的两个语句之一,另一个语句是while。如果你对Python的迭代并不是很熟悉的话,Python中的迭代:for、while、break、以及continue语句是一个不错的切入点。Python中,for循环用于遍历一个迭代对象的所有元素。循环内的语句段会针对迭代对象的每一个元素项目都执行一次。暂且可以将迭代对象想象成一个对象集合,我们可以一个个遍历里面的元素。用for循环获取列表元素一、在获取值也获取下标方式一:当在py

    2022年8月12日

发表回复

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

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