摘要: 1. 背景介绍 蓝牙是爱立信公司创立的一种无线技术标准,为短距离的硬件设备提供低成本的通信规范。蓝牙规范由蓝牙技术联盟(Bluetooth Special Interest Group,简称SIG)管理,在计算机,手机,传真机,耳机,汽车,家用电器等等很多场景广泛使用。蓝牙具有以下一些特点: (1) 阅读全文
posted @ 2017-09-28 01:33 zhusheng 阅读(1785) 评论(0) 推荐(1) 编辑
摘要: ES6对于函数的使用新增了很多实用的API,JS的函数跟很多后台语言PHP,ASP.NET开始看齐: 1. 参数默认值: 以前我们为了给函数创建默认值,必须用一种冗杂的语句,而且有歧义的语句。 在ES5中,如果name传入了布尔值false将会产生歧义,而且也不直观,ES6的语法明显简洁很多。 参数 阅读全文
posted @ 2017-09-14 00:06 zhusheng 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 一 背景 JavaScript经过二十来年年的发展,由最初简单的交互脚本语言,发展到今天的富客户端交互,后端服务器处理,跨平台(Native),以及小程序等等的应用。JS的角色越来越重要,处理场景越来越复杂。在这个背景下,JS最初的简陋设计显然是不太够用的,其松散的语法规则,拗口的继承机制(传说中的 阅读全文
posted @ 2017-09-13 00:35 zhusheng 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 一. Backbone的江湖地位: backbone作为一个老牌js框架为大规模前端开发提供了新的开发思路:前端MVC模式,这个模式也是前端开发演变过程中的一个重要里程碑,也为MVVM和Redux等开发思路奠定了基础,后来的react,vue无不是在backbone的影响下开创出来的经典模式。为什么 阅读全文
posted @ 2017-06-03 01:16 zhusheng 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 好了有了之前的词法分析过程,现在我们来到select函数来,这个函数的整体流程,前面也大概说过: 1. 先做词法分析获得token列表 2. 如果有种子集合直接到编译过程 3. 如果没有种子集合并且是单组选择符(没有逗号) (1)尝试缩小上下文:如果第一个token是ID选择符,则会执行Expr.f 阅读全文
posted @ 2017-04-04 23:21 zhusheng 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 上一篇我们了解了Sizzle的整体流程,下面我开始一点点分析各个流程,我们进行查询的第一步就是词法分析tokenize,同样先了解下思路,如果是#div_test > span input[checked=true]会发生什么: 一个字符串的每个节点都被分析为以下数据结构:{type:'对应的Tok 阅读全文
posted @ 2017-03-26 23:45 zhusheng 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 一.前言 DOM选择器(Sizzle)是jQuery框架中非常重要的一部分,在H5还没有流行起来的时候,jQuery为我们提供了一个简洁,方便,高效的DOM操作模式,成为那个时代的经典。虽然现在Vue,React等MVVM框架的热度如日中天,但是了解下jQuery的DOM选择器设计思路,可以学习到S 阅读全文
posted @ 2017-03-24 00:14 zhusheng 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 上一篇说到,我们在最外层API的on,off,tiggler,triggerHandler调用的是event方法的add,remove和tirgger方法,本篇就来介绍event辅助类 \ 先放个图,这其实就是整个事件流程的过程: 1. add方法: 整体思路是为当前的dom对象添加两个属性,一个是 阅读全文
posted @ 2016-12-13 00:28 zhusheng 阅读(1198) 评论(0) 推荐(0) 编辑
摘要: jQuery为我们提供了一个非常丰富好用的事件API,相对于浏览器自身的事件接口,jQuery有以下特点: 1. 对浏览器进行了兼容性处理,用户使用不需要考虑浏览器兼容性问题 2. 事件数据是保持在内部缓存中的,而不是保持在DOM节点上 3. 事件委托机制,提供了一个非常简单的事件委托使用方法 4. 阅读全文
posted @ 2016-11-28 01:14 zhusheng 阅读(3757) 评论(0) 推荐(0) 编辑
摘要: 一般我们去写一个框架,会采用什么样的设计呢?比如设计一个jQuery框架,一般我们会创建一个函数对象 我想这是我们最常见的使用方式,这种方式需要new一个新的实例,然后再进行初始化操作,然后才能继续操作,很显然这样会比较繁琐而且代码较多,而jQuery中的使用方法却非常简洁: 获取指定元素:$("# 阅读全文
posted @ 2016-09-28 00:37 zhusheng 阅读(2266) 评论(0) 推荐(0) 编辑