
库
文章平均质量分 58
pipixx
这个作者很懒,什么都没留下…
展开
-
underscore.js源码整体框架解析
源码框架读一些库的源码时最头疼的其实不是里面各个函数的功能,而是整体结构框架,通常库的源码都很长,跟框架相关的代码并不是在一起放着的,导致你想明白起来就很难。我看过通过画图的方式去讲解框架的,但看完以后还是一头雾水,甚至越看越懵逼,各种箭头绕来绕去对理解框架是然并卵的。身为一个程序员,代码其实是最直接的。并且框架这种底层的东西,原理一定是很简单的。即便是复杂如整个互联网的架构,每一层网络模型的原理也都是很简单的。所以想理解框架,最好的方式就是把跟框架相关的代码提取并精炼出来,其他乱七八糟的东西一原创 2022-04-02 21:02:12 · 807 阅读 · 0 评论 -
javascript函数链式调用原理
链式调用大家都知道链式调用能够让代码更简洁易读,一般用于批量数据的多次复杂处理。关于它的实现原理一般有两种方式:1.构造函数的实例方法或原型方法执行完后 return thisfunction Person() { this.run=function () { console.log('run') return this // 返回调用run方法的对象自身 } this.stop=function () { console.log('stop')原创 2022-04-01 20:11:59 · 2561 阅读 · 0 评论 -
underscore.js源码中关于对象合并方法的解析(extend,extendOwn,defaults)
underscore.js源码中关于对象合并方法的解析(extend,extendOwn,defaults)原创 2022-03-14 18:01:27 · 983 阅读 · 0 评论 -
underscore.js中节流函数的解析
underscore.js中节流函数的解析源码简化版源码underscore.js是一个经典的js工具库,随着语言的发展,虽然现在用的少了,但它像jquery一样,甚至影响了语言的发展,足以说明其厉害之处。许多开发人员进阶首选学习的就是它。本文解析一下其中的防抖函数,加深对js语言的理解。节流和防抖的区别:防抖函数:连续触发时,刷新上一次的定时器,在一定时间段内只响应最后一次。节流函数:连续触发时,只会在一定时间段内触发一次,不刷新时间间隔,也就是可以多次触发。简单点说就是比如点击一个按钮,用原创 2022-03-10 18:15:18 · 350 阅读 · 0 评论 -
JavaScript中不同对象的toString方法解析
toString方法解析刚开始使用toString方法时就会很疑惑,例如下图经常能看到一些判断数据类型的代码里会使用toString.call(…),根据返回值判断类型.可是似乎js里任何对象都有toString方法,并且返回值都不相同.下面的内容从应用层面捋一下.js是一种基于原型的语言,当调用对象的一个方法时,如果该对象没有此方法,则会一直顺着原型链向上查找,直到Object对象为止,如果还是没有就会报错.例如:function Person(name) { this.name = n原创 2021-06-21 20:04:54 · 903 阅读 · 0 评论 -
javascript防抖函数里的闭包,this指向解析
javascript防抖函数解析前言普通的防抖函数前言js语言里的闭包,this等知识点通常会难到许多初学者,好在稍难一点的东西网上都能找到例程,或者已经被人封装过.但是总有一天你会想更深入的了解一点,下面是本人学习时的理解,有错请指正.普通的防抖函数网上找到最常见的防抖函数timeout就是一个闭包方式产生的变量,当你调用debounce函数以后,return的函数中会继续引用timeout变量,所以不会被gc回收,于是timeout就相当于return函数的"全局变量",但真正的全局变量并没原创 2021-03-25 09:06:25 · 1127 阅读 · 1 评论 -
mqtt协议qos,retain,dup,cleanSession,will的简单理解和应用
mqtt协议qos,retain,dup,cleanSession,will的简单理解和应用前言qosretaindupcleanSessionwill前言搞过物联网开发的同学们肯定都知道mqtt协议,对于简单的应用大家很快就能上手做出来一些东西,稍微深入一点去了解的时候就会发现根本没有想象的那么简单,能查到的资料基本都晦涩难懂,下面简单讨论一下协议中的qos,retain,dup,cleanSession,will的基本概念和应用.以下代码部分全都是js实现的.参考文章:规范部分:协议规范qo原创 2020-12-17 10:33:57 · 4634 阅读 · 0 评论 -
nodejs实现的mqtt基础物联网平台
element-ui中progress组件的改造实现的效果实现过程心得总结实现的效果如图二氧化碳指数,format参数可以改变值的单位,但值只能输入0-100,毕竟是progress,这样设计也没毛病。但有时候就是想用圆环的形式表现一个超过100的值,最好还能用此组件,保持前后风格一致,自己重头写一个的话对我这种水平的开发者来说还挺难,只能研究一下源码进行一番改造。实现过程找到packages下的progress组件,就是一个标准的vue组件,对于svg的接口本人也不怎么熟悉,画圆环的代码看的原创 2020-09-29 10:26:35 · 1933 阅读 · 5 评论 -
nodejs中where条件sql语句的字符串拼装
nodejs中where条件sql语句的字符串拼装使用需求直接的处理方式封装成工具函数使用需求使用nodejs操作数据库时需要拼装各种sql语句字符串,当然你也可以使用各种orm框架,但学习成本比较高,针对一般的业务,自己封装一些常用的拼装sql工具足以应付。下面讨论一下拼装where条件语句时的情况。直接的处理方式通常复杂一点的查询都会有多个where条件,并且各个条件有可能传也可能不传,比如说有两个条件的情况:function createSql(search,state) { let s原创 2020-09-08 07:37:28 · 1966 阅读 · 0 评论 -
前端js自定义对象与自定义事件的实现
前端js自定义对象与自定义事件的实现应用场景自己实现一个简单的事件管理器常用的操作写在最后应用场景当你要写一些库之类的东西,通常需要构造一个巨大的对象,对象的方法经常互相穿插,这时可以使用自定义事件去解耦,使程序结构更清晰易于开发和维护。自己实现一个简单的事件管理器有同学说直接用jq里的不就行了?当你写一个库的时候,把整个jq添加进去,jq其他的功能你又不想用,对于库来说就像城市的CBD,寸土寸金。不可能加一堆没用的东西在里面,所以只能参考其他代码自己完成一个。class EventManage原创 2020-07-24 08:48:24 · 517 阅读 · 0 评论