js去抖和节流函数详解

$(() => { // 举例:window scroll事件 /* 如果一直滚动下去,在经过3s后一定会执行一次move函数(函数节流),如果停止滚动,在经过1s后会执行一次move函数...

2018-07-31 20:27:35

阅读数 796

评论数 0

js函数柯里化的理解

对象扁平化 应用场景 node接收参数时,无法自动转换参数,如:’false’不能转为false

2018-07-25 15:13:10

阅读数 1517

评论数 0

实现destructuringArray方法,达到如下效果

网上的阿里二面的一道笔试题,实现destructuringArray函数,具有如下功能: // destructuringArray( [1,[2,4],3], "[a,[b],c]" ) // result // { a:1, b:2, c:3 } 网上解...

2018-07-22 17:17:50

阅读数 237

评论数 0

自定义一个简单的前端模板引擎

123

2018-05-23 23:19:43

阅读数 1472

评论数 0

new Date()传参的浏览器兼容性

测试以下是在IE9的测试情况可以看到IE9不支持new Date('2018-1-2'),但是支持new Date('2018-01-02')和new Date('2018/1/2') 主流浏览器都支持由/分隔的日期格式需求假如有这样的需求,一个输入框,用户可以输入日期,但是我们需要让所有浏览器...

2018-04-19 18:14:43

阅读数 402

评论数 0

Mockjs原理简析

前言 有一个前后端分离的项目用到过Mockjs,后端提供了数据格式,前端通过模拟接口的返回数据,进行页面的渲染,有一段时间,百思不得其解,这个插件是怎么把ajax请求给拦下来的,网上搜索了一番,资料甚少,未果。 后来有一天,不知道怎么的突然想到,如果把ajax方法请求改写了,在发送请求之前提供...

2018-04-11 23:48:06

阅读数 1957

评论数 0

js将人民币小写金额转换为大写

人民币大写在线转换工具以下为es6写法,可以直接在控制栏粘贴运行/** * 将人民币小写金额转换为大写 * * @class RMB * 示例 let rmb = new RMB() console.log(rmb.transform(2114523.234))// 贰佰...

2018-03-26 14:35:10

阅读数 1564

评论数 0

js自定义事件

自定义事件(简单版)let Event = { /* 绑定事件 Event.on('log', function(param1, param2) {// 绑定一个log事件,并接收param1和param2参数 console.log(1, param1, ...

2018-03-01 15:56:28

阅读数 340

评论数 1

移动端Retina屏幕1px边框问题

起因 设计师给出设计稿上明明是1px的边框在移动端retina屏上显示很粗(2倍屏上显示为2px,3倍屏上显示为3px) 设备像素比 注意 安卓不支持小于1的像素,所以通过设置border-width=0.5px不适用安卓 解决 通过高度为1px的div,再通过scal...

2017-12-19 10:37:02

阅读数 550

评论数 0

如何让多个div横向排列而不换行

现象 多个div排列在一行,包裹的框宽度不足时,那么会换行显示 如图 解决 关键点在于white-space: nowrap;的使用 效果 代码<!DOCTYPE html> <html lang="en"><head> <me...

2017-12-15 16:58:01

阅读数 22304

评论数 1

zepto.js使用注意点

(注:以下解决方案只考虑现代浏览器(IE>=IE9)和手机端)fadeIn显隐遮罩层问题重现 zepto的fadeIn方法,在显示透明的遮罩层(如opacity: 0.5)时,会把该图层最终的opacity设置为1,这显然不符合我们的预期 解决思路 通过css3动画transition的方式...

2017-09-21 17:09:25

阅读数 594

评论数 0

js错误监控

即时错误 概念:即未注意写出的错误 捕获:使用try catch或者window.onerror 资源加载错误 概念:js、css、img 不存在的情况 捕获:由于window的error事件不能冒泡,所以我们使用事件捕获 window.addEventListener('err...

2017-08-20 08:37:51

阅读数 1290

评论数 0

js递归示例

console.log(factorial(3))// 6 // 阶乘 function factorial(num) { if(num <= 1) { return 1 }else { return num*factorial(num-1) ...

2017-08-19 22:29:22

阅读数 296

评论数 0

css使多个相互之间有间隔的元素两端对齐显示

场景重现电商网站经常会展示产品图片,假设每行展示4个,且每个和每个之间有20px的距离,如何使每行展示的产品看起来是居中显示效果列举 失败效果 成功效果 代码示例&amp;amp;amp;lt;!DOCTYPE html&amp;amp;amp;gt; &amp;amp;a...

2017-08-19 11:30:54

阅读数 1892

评论数 1

jq判断一个元素是否在可视范围内

场景重现比如视频在页面中播放,当用户向下滚动页面时,假如视频元素不可见了,那么我们应该停止播放 相似的场景还有图片懒加载简单思路$(() => { // 只要将当前元素相对于窗口的高度+当前元素自身的高度和窗口的滚动距离做对比即可(注意要根据情况而定,对比参照物不一定是窗口,还有可...

2017-08-19 10:08:43

阅读数 2034

评论数 0

js原生实现jquery方法offset()和position()

$(() => { console.log($('p').offset()) console.log($('p').position()) console.log(offset($('p')[0])) console.log(position($('p')[0...

2017-08-19 09:45:27

阅读数 2973

评论数 0

node全文检索研究

前言 企业中应用比较广泛的是Lucene和Solr,但是需要使用Java Elasticsearch可以使用Node 本文给出几种Node实现全文搜索应用的简单示例 node相关实现方式 text-search MongoDB 全文搜索教程 mongoosejs/mongoose-text-se...

2017-07-20 11:29:14

阅读数 722

评论数 0

node权限控制模块node_acl的应用

前言 一个应用必不可少的部分:登录认证(jaredhanson/passport)、权限控制(OptimalBits/node_acl) 由于node_acl中文资料较少,本文给出一个完整的简单示例,便于初学者理解和学习 最后有动态的效果图给出,更直观的展示node_acl的使用效果 重点 示例...

2017-07-18 10:23:34

阅读数 3531

评论数 3

node图片处理工具gm的使用:图片水印、图片验证码、图片裁剪示例

请在这里查看示例☞ gm示例安装GraphicsMagick和ImageMagick的区别 (出现错误1) GraphicsMagick是从ImageMagick中分离出来的,推荐下载ImageMagick 加载GraphicsMagick(大小4.72 MB) var gm = requir...

2017-07-07 15:29:22

阅读数 5383

评论数 0

构建Promise队列实现异步函数顺序执行

场景 有a、b、c三个异步任务,要求必须先执行a,再执行b,最后执行c 且下一次任务必须要拿到上一次任务执行的结果,才能做操作 解决 方法一(使用then链式操作)特点:可以满足需求,但是书写比较繁琐 代码var a = function() { return new Promise(fu...

2017-06-29 11:38:02

阅读数 8800

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭