随笔分类 - javaScript源码解析
重写js的原生方法,深度理解原生js的内部原理;及js框架一些源码深度解析。
摘要:node为什么要使用异步I/O 异步I/O的技术方案:轮询技术 node的异步I/O nodejs事件环 一、node为什么要使用异步I/O 异步最先诞生于操作系统的底层,在底层系统中,异步通过信号量、消息等方式有广泛的应用。但在大多数高级编程语言中,异步并不多见,这是因为编写异步的程序不符合人习惯
阅读全文
摘要:什么是session Express session实例应用 Express session源码解析 一、什么是session 1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,
阅读全文
摘要:Application.use() Application.router() express核心源码模拟 一、express.use() 1.1app.use([path,] callback [, callback ...]) 通过语法结构可以看到Application.use()参数分别有以下几
阅读全文
摘要:定时器setInterval实现的匀速动画为什么不是匀速? window.requestAnimationFrame() 一、定时器setInterval实现的匀速动画为什么不是匀速? 以上提问并非通过计算时间戳来计算每帧运动,而是直接使用定时器按照既定的间隔时间叠加每次运动距离的方式,这里主要意在
阅读全文
摘要:deferred的功能及其使用 deferred的实现原理及模拟源码 deferred.then方法的实现原理及模拟源码 一、deferred的功能及其使用 deferred的底层是基于callbacks实现的,建议再熟悉callbacks的内部机制前提下阅读这篇博客,如果需要了解callbacks
阅读全文
摘要:Callbacks的基本功能回调函数缓存与调用 特定需求模式的Callbacks Callbacks的模拟源码 一、Callbacks的基本功能回调函数缓存与调用 Callbacks即回调函数集合,在jQeury中配合异步操作实现异步回调任务,同时也具备函数解耦的基础特性。简单的说就是缓存回调函数的
阅读全文
摘要:JavaScript中的this指向规则 源码来袭:call、apply手写实现与应用 理解建议:如果对this指向规则不了解的话,建议先了解this指向规则,最好还能对call和apply的使用和内部原理也有所了解,不然直接研究bind还是会有些难度的。 一、bind()的使用 在单对象编程中,有
阅读全文
摘要:关于this指向可以了解我的另一篇博客:JavaScript中的this指向规则。 一、call与apply的使用 回顾call与apply的this指向: 回顾call与apply的参数使用: 二、call与apply的手写实现 思路: call手写实现: apply手写实现:
阅读全文
摘要:开篇一张图之队列模型 queue()如何使用? queue()原理实现? 基于queue()模拟实现animate() 一、使用queuer方法、理解队列原理 queue() dequeue() clearQueue() 1.创建队列$(selector).queue(queueName,funct
阅读全文
摘要:实例方法: on() one() off() trigger() hover() 一、绑定事件与jQuery事件委托 $(selector).eventType(fn); $(selector).on(event,childSelector,data,function); $(selector).o
阅读全文
摘要:一、简单的一些介绍 1.jQuery是由普通的是由一些系列操作DOM节点的函数和一些其他的工具方法组成的js库。 2.为什么要使用jQuery库? jQuery面向用户良好的设计在使用过程中彻底解放了记忆原生操作DOM的接口。 jQuery中包含了可重用的函数,用来辅助我们简化JavaScript开
阅读全文
摘要://源码剖析都基于jQuery-2.0.3版本,主要考虑到兼容IE 一、关于jQuery对象实例化的逻辑: 整个jQuery程序被包裹在一个匿名自执行行数内: 外部程序不能直接调用jQuery对象的属性和方法,jQuery所有方法和属性被变成局部私有的。例如: 既然所有方法和属性都是私有的,就存在一
阅读全文