javascript
文章平均质量分 77
程序猿子
这个作者很懒,什么都没留下…
展开
-
jquery操作cookie
web开发过程中如果网站有一部分信息是存储在cookie中并与服务器交互的话,那么前台有时就会遇到需要对cookie中信息进行操作的情况,一个最典型的例子就是在前台判断用户是否登录过当前所访问的网站。可以用js原生的代码操作cookie,不过对于已经习惯在前台使用jquery的人员来说,最好能有一种直接扩展到jquery实例对象中的方法来统一操作风格,这里记录一个个人感觉还算简洁的方案。原创 2012-02-28 19:20:42 · 1119 阅读 · 1 评论 -
jQuery选择器探究:正则表达式汇总
jQuery选择器正则表达式是jQuery选择器框架Sizzle的基础。Sizzle正则表达式集中在Expr对象的match对象属性中,这里定义的RE是基础的、按照功能分类的。另一个核心RE是变量chunker定义的。一 Expr对象的正则表达式 match: { ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, CLASS: /\.((?:原创 2016-04-17 18:27:11 · 6126 阅读 · 0 评论 -
jQuery选择器探究:Sizzle构造函数
什么情况下jQuery会调用传统的通用的Sizzle逻辑呢?前几篇分析过,ID选择器会在jQuery构造函数中直接被处理,TAG选择器和CLASS选择器会在新式浏览器中(支持并实现document.querySelectorAll强大功能)直接被处理,甚至只要遵循CSS规范的选择器都会被新式浏览器直接处理,那么剩下的场景将交给传统Sizzle引擎处理了:不支持document.querySelec原创 2016-08-03 14:06:33 · 793 阅读 · 0 评论 -
jQuery选择器探究:ID选择器
ID选择器算是jQuery选择器中最简单的一种了,这里跟踪并梳理jQuery id选择器的逻辑。所有选择器的调用语法都是从jQuery构造函数开始的,id选择器的调用语法是:$("#x"),如果我们是jQuery的设计者,那么在jQuery构造函数中对id选择器的处理有两种思路:要么单独处理,要么与其他选择器一样处理,如果区别对待id选择器,只需要识别选择器/^#(\w)+$/即可,如原创 2016-07-31 16:04:22 · 2194 阅读 · 0 评论 -
jQuery选择器探究:TAG选择器和CLASS选择器
(jquery1.6.1版本)假设有一个html文档中存在多个标签元素,那么当我们敲入$("h1")后在jQuery内部将会执行怎样的逻辑呢?分析jQuery构造函数我们同样定位到find( selector )方法,这个方法是jQuery的实例方法,代码如下:(5137行) find: function( selector ) { var self = this, i, l原创 2016-07-31 18:16:22 · 3320 阅读 · 0 评论 -
jQuery选择器探究:语法汇总
首先概略汇总一下jQuery常见选择器,大概分为这么几类:基本选择器、层次选择器、过滤选择器。基本选择器包含id/class/tag等,层次选择器包含祖孙、父子、兄弟、同级选择器四种,过滤选择器比较多样化,有根据当前元素在同级元素集合中的位置选择的,有根据相对父元素的子元素选择的,有根据属性选择的,也有根据内容选择的,还有表单元素等多种过滤选择器。一 基本选择器ID选择器 #id原创 2016-04-17 18:09:23 · 1124 阅读 · 0 评论 -
jQuery异步框架探究2:jQuery.Deferred方法
最后总结一下,第一篇通过"手枪"模型详细解释了jQuery._Deferred函数的内部原理,本篇通过"未来单兵武器系统"模型详细解释jQuery.Deferred函数的内部原理,可以看到增强型异步对象本身并没有引入其他过多复杂的机制,只是通过增强或减弱普通异步对象的功能来达到设计的目的,因此重点还是jQuery._Deferred函数。另外增强型异步对象虽然解决了"增加更多的回调钩子应对不同场景下的回调逻辑"这个需求,但是jQuery整个异步机制还缺少最后一个环节--"什么时候由谁开枪",更通俗的说是怎么原创 2016-03-26 15:02:06 · 1263 阅读 · 0 评论 -
jQuery异步框架探究1:jQuery._Deferred方法
jQuery异步框架应用于jQuery数据缓存模块、jQuery ajax模块、jQuery事件绑定模块等多个模块,是jQuery的基础功能之一。实际上jQuery实现的异步回调机制可以看做java nio(不是aio)的近似,所以需要从更抽象层面的"异步回调"的视角分析解读该模块。这个部分与dom功能关系不大,是独立部分,可以看作是jQuery工具系列之一。与异步框架相关的方法定义于jQ原创 2016-03-25 15:02:54 · 1095 阅读 · 1 评论 -
jQuery action类型实例方法探究:Array转换
关于jQuery原型对象中的action类型实例方法,如果严格按照Spark对Action概念的定义来说,除了构造jQuery对象的Sizzle和变形jQuery对象的Transform,其余的包括到纯粹数组的转换、异步队列Deferred、数据缓存Data、队列queue、属性操作Attr、事件处理Event、DOM操作、CSS操作、动画FX、坐标操作等统统算作是Action领域,剩余其他的比如原创 2016-03-23 11:34:49 · 548 阅读 · 0 评论 -
jQuery transform类型实例方法探究
jQuery.prototype中定义了许多非常有趣的方法,同样对比Spark RDD的逻辑可以将其一部分划分为几个大的类型:transform类型及与之相关的方法集、action类型及与之相关的方法集,本篇将着重分析Transform类型的方法。这两大类方法是针对"已有选中原生客户端对象集合"的jQuery对象而言的,"怎样在文档对象中选中原生客户端对象集"可以看做是构造RDD的一大类方法,这个原创 2016-03-22 20:32:39 · 5837 阅读 · 1 评论 -
jQuery transform/action类型静态工具方法探究
研读了jQuery源码后,发现非常有趣的一个现象:一个前端单节点内的脚本语言编程框架与大数据领域内集群上的编译语言型编程框架从逻辑抽象层面上并没有差异,更通俗的说是与函数式编程的普遍思想没有差异--编程果然是殊途同归的。本篇博客参照Spark RDD的Transformations和Actions对jQuery静态工具方法做一个简单的总结。一 jQuery.each这里探究原创 2016-03-21 20:57:48 · 765 阅读 · 0 评论 -
Object.prototype.toString应用和原理探析
查阅各种资料,在javascript语言中为了准确判断对象的数据类型也是拼了,各种或土法或高大上法齐上阵也未必能得到预期的结果,这篇博客来做一个简单的总结。一 typeof运算符的使用和局限实际用例最能说明问题,测试之:console.info("typeof undefined : ", typeof undefined);console.info("typeof null原创 2016-03-19 18:19:17 · 1226 阅读 · 0 评论 -
Array.prototype.slice应用和原理探析
Array.prototype.slice应用和原理探析,以及在jQuery中对应的实现原理。原创 2016-03-18 14:09:06 · 5334 阅读 · 0 评论 -
jQuery异步框架探究3:jQuery.when方法
(本篇文章针对jQuery1.6.1版本)经过前两篇文章对jQuery异步回调机制的详细分析,关于jQuery如何实现异步回调机制的原理已经非常清楚了--将"回调函数"与"击发动作"两个步骤分开,这样可以先把回调函数作为子弹预先存储到弹夹中,由指定对象在"特定条件"实现后再击发子弹。异步对象的done、fail、then、always方法都是存储回调函数的,异步对象的resolveWith、res原创 2016-03-27 14:03:32 · 2047 阅读 · 0 评论 -
jquery操作checkbox
1、checkbox list选择 http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml"> $(function () { // 全选 $("#btnCh转载 2013-04-23 10:45:42 · 629 阅读 · 0 评论 -
jQuery缓存探究
如果与java语言世界对比的话,jQuery Data模块和jQuery Queue模块类似java的集合框架。jQuery Data模块的功能简单来说就是"在某个元素"上对缓存数据"做增删改查的CRUD操作"。"某个元素"可能是原生的dom对象,也可能是js内核对象,jQuery Data模块区别对待它们。按照jQuery通用编程风格,一般对数据的写和读是设计到同一个方法的,更新也属于写操作类型原创 2016-08-07 10:01:45 · 2781 阅读 · 0 评论