自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

破晓

~~~~~~

  • 博客(22)
  • 收藏
  • 关注

转载 css解析原理

转载自:http://www.imooc.com/code/4570 CSS的解析原理 在开始前,我们必须了解一个真相:为什么排版引擎解析 CSS 选择器时一定要从右往左析?  1.HTML 经过解析生成 DOM Tree(这个我们比较熟悉);而在 CSS 解析完毕后,需要将解析的结果与 DOM Tree 的内容一起进行分析建立一棵 Render Tree,最终用来进行绘

2016-09-29 16:48:12 653

转载 jQuery源码解析-----Deferred是什么?

Deferred是什么? 前端项目的开发,不仅仅涉及到同步的概念,而且还会经常穿插各种异步的处理。一些大的操作,比如远程获取数据,操作一个大数据处理,这时候是不能马上获取到数据的。假设我们发送一个AJAX请求到接受到数据需要10秒钟,那么从发送到接受数据这个时间段中,前端的处理时间其实是空闲,但是对于开发者来说这种时间是不能浪费了,所以我们可以在10秒钟做很多同步的处理,同时等待异步

2016-09-22 10:05:34 489

转载 jQuery源码分析----Data类设计

转载自:http://www.imooc.com/code/3464 Data类的设计 我们看看Data类是如何构建这个缓存池的: (1)先在jQuery内部创建一个cache对象{}, 来保存缓存数据。 然后往需要进行缓存的DOM节点上扩展一个值为expando的属性 function Data() {     Object.defineProperty(th

2016-09-20 16:20:58 368

转载 jQuery源码解析-----jQuery数据缓存系统

//jQuery缓存系统静态方法与实例方法的区别 jQuery.data(ele)与$(ele).data() 这两个函数都是用来在元素上存放数据,也就是平时所说的数据缓存,都返回jQuery对象,初学的时候很容易让人混淆,尤其是给dom元素添加缓存数据的时候。 简单的来说: 1.jQuery.data()可以实现为dom元素或js对象添加缓存 2.$("ele").data()实是对前

2016-09-20 14:23:44 356

转载 jQuery源码解析----回调函数"memory"场景的实现

//memory的设计 memory:包吃以前的值,将添加到这个列表的后面的最新的值立即执行调用任何回调。 回调函数是从异步队列Deferred分离出来的,所以很多的接口设计是为了契合Deferred接口,memory用的很多,这个缓存的设计这里提及一下主要是用来实现Deferred的异步收集与pipe管道风格的数据传递的,具体在Deferred有详解,这里大概了解一下作用范围。 memor

2016-09-20 10:50:47 378

转载 jQuery源码解析---jQuery回调模块的结构

jQuery回调模块结构 整个$.Callbacks的源码很少,它是一个工厂函数,使用函数调用(非new,它不是一个类)创建对象,它有一个可选参数flags用来设置回调函数的行为,对外的接口也就是self的返回。 jQuery.Callbacks()的API列表如下: callbacks.add()        :回调列表中添加一个回调或回调的集合。 callbacks

2016-09-19 17:44:46 300

原创 JQuery源码解析---jQuery回调对象

//jquery回调对象 jquery.Callbacks一般开发者接触的很少的,虽然jQuery开发者提供了外部接口调用,但是$.Callbacks()模块的开发目的是为了给内部$.ajax()和$.Deferred()模板提供统一的基本功能组件。 它可以用来作为类似基础定义的新组件的功能。 jQuery.Callbacks是jquery在1.7版本之后加入的,是从1.6版本中的_Defe

2016-09-19 15:16:51 386

转载 jquery源码解析---理解观察者模式

理解观察者模式 讲解jQuery回调对象之前,我们有必要先理解其背后的设计思想 - “观察者模式”。 观察者模式 (pub/sub) 的背后,总的想法是在应用程序中增强松耦合性。并非是在其它对象的方法上的单个对象调用。一个对象作为特定任务或是另一对象的活动的观察者,并且在这个任务或活动发生时,通知观察者。观察者也被叫作订阅者(Subscriber),它指向被观察的对象,既被观察

2016-09-19 11:54:10 886

原创 Jquery源码解析---利用队列来实现函数的顺序执行

//利用队列来实现函数的顺序执行 function test(list,callback){ var task; task = list.shift(); if(task){ task(); } if(list.length > 0){ arguments.callee(list,callback); }else{ callback(); } } var list

2016-09-19 11:23:34 1903

转载 jquery源码解析----each迭代器

jQuery的each迭代器 jQuery的each方法从使用上就要分2种情况: ☑ $.each()函数 ☑ $(selector).each() $.each()函数和$(selector).each()是不一样的,后者是专门用来遍历一个jQuery对象的,是为jQuery内部服务的。 $.each()函数可用于迭代任何集合,无论是“名/值”对象(JavaScrip

2016-09-18 11:20:41 561

转载 jQuery源码解析---get与eq的区别

get与eq的区别 .eq() 减少匹配元素的集合,根据index索引值,精确指定索引对象。 .get() 通过检索匹配jQuery对象得到对应的DOM元素。 同样是返回元素,那么eq与get有什么区别呢? eq返回的是一个jQuery对象,get返回的是一个DOM对象。举个例子: $( "li" ).get( 0 ).css("color", "red"); //错误

2016-09-14 15:34:21 691

转载 jQuery源码分析---仿栈与队列的操作

转载自:http://www.imooc.com/code/3414 仿栈与队列的操作 jQuery既然是模仿的数组结构,那么肯定会实现一套类数组的处理方法,比如常见的栈与队列操作push、pop、shift、unshift、求和、遍历循环each、排序及筛选等一系的扩展方法。 jQuery对象栈是一个便于Dom的查找,提供的一系列方法,jQuery可以是集合元素,那么我

2016-09-14 14:40:38 421

转载 jquery源码解析----回溯处理的设计

回溯处理的设计          在这一小节我将会带领你们了解jQuery对DOM进行遍历背后的工作机制,这样可以在编写代码时有意识地避免一些不必要的重复操作,从而提升代码的性能。 关于jQuery对象的包装 var $aaron = $("aaron"); 通过对sizzle的分析,我们可以得知Query选择器最终都是通过DOM接口实现取值的, 但是通过jQu

2016-09-14 11:25:51 503

转载 jQuery源码学习---插件接口的设计

如果jQuery没有插件接口的设计,那么他就像一个光杆司令没有士兵,就是没有手下,只有自己一个封闭的城堡。因此jQuery城堡需要设计一个大门--插件接口,从而打开大门开始招兵买马。当然jQuery除了获得“开发者社区”的 大力支持外,也有很多公司纷纷对它投出了橄榄枝,这也是它成功的关键。 基于插件接口设计的好处也是颇多的,其中一个最重要的好处是把功能从主体框架中剥离出去,降低了框架的复杂度。

2016-09-14 10:37:10 602

转载 jquery源码解析资料

https://github.com/JsAaron/jQuery

2016-09-13 17:29:55 255

转载 深入理解变量声明提升和函数声明提升

深入理解变量声明提升和函数声明提升

2016-09-12 16:31:29 482

转载 作用域安全的构造函数以及js对象的创建步骤

//分离构造器 通过new操作符构建一个对象,一般经过四个步骤: A.创建一个对象 B.将构造函数的作用域赋给新对象(所以this就指向了这个新对象) C.执行构造函数中的代码 D.返回这个新对象 最后一点就说明了,我们只要返回一个新对象即可。其实new操作符主要是把原型链跟实例的this关联起来,这才是最关键的一点,所以我们如果需要原型链就必须要new操作符来处理。否则this就变成window

2016-09-12 15:20:37 455

转载 jquery源码解析----对象的创建

//jquery源码解析 对象的构建 面向对象的语言都有一个特点,他们都会有类这一个概念,通过类可以抽象出创建具体 相同方法与属性的对象,但是ECMAScript中是没有类的概念的,因此它的对象与基于类 的语言如java的定义是有所不同的。 在javascript世界中函数作为"一等公民",它不仅拥有一切传统函数的使用方式,而且 可以做到像简单值一样赋值、传参、返回,这样的函数也称之为

2016-09-12 13:55:56 222

转载 jquery源码解析----DOM文档加载步骤

//jquery中ready和load事件 jquery有3种针对文档加载的方法: $(document).ready(function(){ //代码逻辑 } ) //document ready简写 $(function(){ //代码逻辑 }) $(document).load( function(){ //代码逻辑 } ) DOM文档加载步骤: (1)解析HTML结构

2016-09-12 13:37:10 808

转载 jquery源码阅读----立即调用表达式

任何库与框架设计的第一个要点就是解决命名空间和变量污染问题。 jquery就是利用了js函数作用域的特性,采用立即调用表达式包裹了 自身的方法解决这个问题。 (function(window,undefined){ var jquery = function(){}; window.jquery=window.$ = jquery; })(window) 从上面的代码可以看出,自动初始

2016-09-12 10:30:56 278

原创 微信开发 IOS 返回键问题

场景 进入微信公众号  点菜单 跳到 自己开发的jsp页面  点链接 跳转到 公众号平台(官方)发布的图文页面  点返回按钮没用 ios   不能返回到自己开发的jsp页面 (安卓里是好的) 解决方案: 在跳转路径后面加上: #wechat_redirect

2016-09-09 14:31:11 3178

转载 关于JSONP的理解

点击打开链接

2016-09-06 10:30:07 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除