本月博客排行
-
第1名
Xeden -
第2名
fantaxy025025 -
第3名
bosschen - paulwong
- johnsmith9th
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - gengyun12
- wy_19921005
- vipbooks
- e_e
- benladeng5225
- wallimn
- ranbuijj
- javashop
- jickcai
- fantaxy025025
- zw7534313
- qepwqnp
- robotmen
- 解宜然
- ssydxa219
- sam123456gz
- zysnba
- sichunli_030
- tanling8334
- arpenker
- gaojingsong
- xpenxpen
- kaizi1992
- wiseboyloves
- jh108020
- xyuma
- ganxueyun
- wangchen.ily
- xiangjie88
- Jameslyy
- luxurioust
- mengjichen
- lemonhandsome
- jbosscn
- nychen2000
- zxq_2017
- lzyfn123
- wjianwei666
- forestqqqq
- ajinn
- siemens800
- hanbaohong
- 狂盗一枝梅
- java-007
- zhanjia
- 喧嚣求静
- Xeden
最新文章列表
又见小正则
本正则来自jquery dataAttr源码:
var rmultiDash = /([A-Z])/g;
//-A-B-C-D
"ABCD".replace(rmultiDash,"-$1");
//get-Data
"getData".replace(rmultiDash,"-$1" ...
深入解读jquery的数据存储相关(data)序3
前言:
上一篇:
深入解读jquery的数据存储相关(data)序2
上上一篇:
深入解读jquery的数据存储相关(data)开篇
正文:
本文关注一下jQuery1.4版本:
主要的变化:
1、增加了一个noData的对象:对特定的这3个标签不添加expando属性,当时觉得因为会抛错!
no ...
深入解读jquery的数据存储相关(data)序2
前言:
先回顾一下上一篇:深入解读jquery的数据存储相关(data)开篇,本篇继续下一个版本。。。
正文:
上一篇其实已经简单地介绍了一个比较关键的地方:
节点如何和数据仓库(cache)直接的映射关系
如何区别处理window节点绑定数据
expando生成的规则
。。。。
本文先看一下jquery-1.3版本吧:
其 ...
深入解读jquery的数据存储相关(data)开篇
前言:
周六看了司徒的一篇文章,觉得这个topic不错,觉得效仿一下,深入剖析一下jQuery的data相关的实现。主要还是对页面的某些元素进行数据绑定及存储相关的操作,本topic是以一个专题的形式呈现,因为会比较多个版本之间的差异和优化。
正文:
还是老规矩吧,我喜欢在研究之前先问几个问题:
哪些节点(或者说是标签)不能存储数据?
如何设计这个对 ...
jQuery源码浅谈系列---$.isPlainObject
jQuery.isPlainObject(obj)
----------测试参数对象是否是纯粹的对象(通过“{}”或者“new Object”创建的)
参数obj--{Object}: 用于测试是否为纯粹的对象。
/*简单的列举几个测试的例子*/
jQuery.isPlainObject({}); //true
jQuery.isPlainO ...
jQuery源码浅谈系列---one()
jQuery源码浅谈系列---one()
-------one(type,[data],fn) 返回值:jQuery
1、实例:
给span绑定click事件:
$("span").one('click',function(){
//....
});
2、概述:
为每 ...
jQuery源码浅谈系列---$.isEmptyObject
其实关于这个工具类还是比较简单的,而且各大开源库的方式写法是一致的。
/*
判断对象是否为空
检测的方式是in 而非hasOwnProperty
所以检测对象本身的属性还有从原型继承的属性
@param obj ---检测的对象
@return Boolean
*/
isEmptyObject: function(obj){
for(var key ...
jQuery源码浅谈系列---$.toArray
jQuery源码浅谈系列---$.toArray
这篇只是做个前瞻为后面的get等api打下理论基础。
jQuery.toArray()
--------将jQuery集合中所有的DOM元素恢复成一个数组
源码展示:
/*
版本取之1.4.4
原理其实调用的Array.prototype.slice
和 ...
jQuery源码浅谈系列---$.map
jQuery源码浅谈系列---$.map
其实这个api的实现原理上会很类似我以前写的$.each的一些思想。如果你弄懂了前面这个,我想再来看看$.map可能就很容易理解了
-------------功能上针对的是Array,将一个Array的元素转换到另一个数组中
ps:昨天和光哥探讨一些技术的时候忽然光哥问我 你觉得map到底是什么? thinking....... ...
jQuery源码浅谈系列---$.inArray
之所以谈论一下这个api,是因为我以前在设计我自己的凤凰组件库的时候写过一个array的indexOf,然后我也写了一个JavaScript1.6新特性里面介绍的7个array扩展的api.所以回归到jQuery的源码再来看,可能就很简单了。
jQuery.inArray(value,array)
确认第一个参数在数组中的位置,从0开始计数(如果没有就返回 ...
jQuery源码浅谈系列---工具方法$.merge与$.unique
很多人在使用jquery的时候应该多会有array去重或者合并的需求吧,那么你一定对$.merge和$.unique不会陌生吧。
1.$.merge----------其实这个功能只是合并两个数组,返回的是array,包含第一个数组的元素后面跟着第二个数组元素
ps:这个不会去重复。
上源码:/*
原理其实还是比较简单
i是第一个数组的length
l是第二个数组的le ...