1.得到一个数,在一个有序数组中应该排在的位置序号:

function orderInArr(num,arr) {
  if(num > arr[0]){
    return 1 + arguments.callee(num,arr.slice(1))
  }else{
    return 0
  }
} //用法:
var arr = new Array(99,199,299,399);
alert(orderInArr(100,arr));//弹出的结果为:1;

2.函数去抖debounce的简单实现:

var timer = null;
$(window).on('scroll',function(){
if(timer){
clearTimeout(timer);
timer = null;
}
timer = setTimeout(function(){
console.log('滑动结束')
},100)
});
//该方法适用于scroll,mousemove,touchmove,resize等连续触发的事件;只触发事件完成后的一次;

3.函数节流throttle的简单实现:

var throttle = function(delay, action){
  var last = 0;
return function(){
   var curr = +new Date()  //将日期格式变为时间戳
if (curr - last > delay){
  action.apply(this)
last = curr
}
}
}
var hehe = throttle(400,function(){  //函数闭包
  console.log(123)
});
$(window).on('scroll',hehe)
//该方法同样适用于scroll,mousemove,touchmove,resize等连续触发的事件;与debounce不同的是,该方法会不断触发,只是规定了事件触发的时间间隔;
//参考:http://www.cnblogs.com/fsjohnhuang/p/4147810.html

js实用代码段(持续更新)的更多相关文章

  1. Phantomjs实用代码段(持续更新中……)

    一.下载 下载链接二.解压安装包 直接解压即可三.配置环境变量 找到高级系统设置,打开它,出现以下图.点击环境变量. 分别点击编辑按钮 分别新建添加当初的解压路径,到bin文件夹.点击确定. 这样,环 ...

  2. 回归 | js实用代码片段的封装与总结(持续更新中...)

      上一次更博还是去年10月28号了,截至今天已经有整整4个月没有更新博客了,没更新博客不是代表不学了,期间我已经用vue做了两个项目,微信小程序做了一个项目,只是毕竟找到工作了,想偷偷懒,你懂的. ...

  3. 记录一下各个用过 IDE 以及 其他工具 的实用快捷键(持续更新)

    通用: win10锁屏:win + L win10查看服务:win+R,输入services.msc即可 Shift + Tab:多行缩进 Shift + Space:切换输入法 全/半角 Shift ...

  4. 我的js函数库(持续更新)

    常用js初始化函数 function id(obj) { return document.getElementById(obj); } function bind(obj, ev, fn) { if ...

  5. js兼容性大全(持续更新)

    javascript部分 1. document.form.item 问题 问题: 代码中存在 document.formName.item("itemName") 这样的语句,不 ...

  6. JS 经典代码段总结 start from 2016-08-22

    1.for(var i = 0, max = myArray.length; i < max ; i++){ //用myArrayy[i]来做点什么 } 用max存储myArray的长度,防止每 ...

  7. 基于opencv和QT的摄像头采集代码( GoQTtemplate3持续更新)

    在Linux操作系统上,编写带界面的图像处理程序,选择opencv+QT是一种很好的选择.GoQTtemplate3是我为编写Linux下图像处理程序实现的框架,希望能够为大家解决Linux环境下桌面 ...

  8. 安装mysql数据库中的技巧、错误排查以及实用命令(持续更新)

    针对解压版本5.7.16(博主使用的这个版本.在某些低版本中部分命令失效) 一.初始化data目录(解压版解压后没有data目录) mysqld --initialize-insecure --use ...

  9. 基于opencv和mfc的摄像头采集代码(GOMFCTemplate2)持续更新

            编写带界面的图像处理程序,选择opencv+mfc是一种很好的选择:在读取摄像头数据方面,网上的方法很多,其中shiqiyu的camerads的方法是较好的.       基于现有资料 ...

随机推荐

  1. Flask-论坛开发-2-Jinja2模板

    对Flask感兴趣的,可以看下这个视频教程:http://study.163.com/course/courseLearn.htm?courseId=1004091002 1. Jinja2 模板介绍 ...

  2. Activiti流程编辑器针对自定义用户角色表优化改造

    本文目的: 针对自定义的用户.角色表,对Activiti的在线流程设计器进行优化改造,使之能直接在图形界面上完成对节点办理人.候选人.候选组的配置,不需要先去查数据库中的用户ID.角色ID等信息再填入 ...

  3. GSP事件探查器 无法进行跟踪的解决办法(场景之一)

    使用GSP事件探查器 可以快速的定位问题, 跟踪效果很好 但是有时会出现 无法新建跟踪的问题. 这里有一个比较常见的解决办法 问题现象: 新建跟踪无效. 解决办法 其实就三步: 1. 打开 servi ...

  4. Pyhton语句

    一.if条件语句 1.python 并不支持 switch 语句 num = 5 if num == 3: # 判断num的值 print 'boss' elif num == 2: print 'u ...

  5. msyql sql语句收集

    在不断的学习中,发现了一些新的slq语句,总结于此. 一.复制数据表的sql 1)create table tableName  as  select  * from   tableName2     ...

  6. 关于python requests 包跑ssl的设置 和 charles相关抓包的问题

    由于在测试服务器上测试东西都是https,然后最近又在和大神一起开发openapi,api写好当然是要测试的 python上测试接口最好用的莫过于requests模块了.但是 我还从来没有用reque ...

  7. caffe中的lr_policy

    // The learning rate decay policy. The currently implemented learning rate // policies are as follow ...

  8. python 惰性求值 https://blog.csdn.net/Appleyk/article/details/77334221

    为什么调用的不是同一个函数呢 是因为调用函数后,函数的生命周期就结束了,再调用就是另一个函数了

  9. 洛谷 P3237 [HNOI2014]米特运输

    题面链接 get到新技能当然要来记录一下辣 题意:给一棵树,每个点有一个权值,要求同一个父亲的儿子的权值全部相同,父亲的取值必须是所有儿子的权值和,求最少的修改数量 sol:自己瞎鸡巴yy一下可以发现 ...

  10. android studio marvin 配置

    buildscript { repositories { maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} } } ...