10 2015 档案

摘要:转载自:http://segmentfault.com/a/1190000002591145Promise核心说明promise的规范,请百度搜索Prommise/A+规范,promise的核心是有个then方法。在相关术语中,promise指的就是有个then方法,且该方法能触发特定行为的对象或函... 阅读全文
posted @ 2015-10-25 18:32 Olive_branch 阅读(845) 评论(0) 推荐(0) 编辑
摘要:扩展对象的属性,代码如下:jQuery.extend = jQuery.fn.extend = function(){ var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {}, ... 阅读全文
posted @ 2015-10-18 22:45 Olive_branch 阅读(155) 评论(0) 推荐(0) 编辑
摘要:在上一节中有提到,jQuery对象的实例化实质上是调用了init构造器。即使不让init构造器成为jQuery函数的原型链的成员函数也不会有大的影响。下面粗略看一下jQuery.prototype对象jQuery.fn = jQuery.prototype = { //为什么要将con... 阅读全文
posted @ 2015-10-18 22:13 Olive_branch 阅读(149) 评论(0) 推荐(0) 编辑
摘要:this是与该执行上下文相关的特殊对象。因此,它可以称为上下文对象(比如,在执行上下文的对象就是激活对象)。任何对象都可以被作为上下文的this的值。需要澄清一些错误的描述对于ECMAScript的执行上下文,和this的值。经常,this的值,错误的描述成变量对象的属性。最近就在一本书就发现了这个... 阅读全文
posted @ 2015-10-17 23:57 Olive_branch 阅读(161) 评论(0) 推荐(0) 编辑
摘要:闭包在ECMAScript语言里,函数是第一类对象。这就是说函数是可以像参数一样被传递给别的函数(这种情形,他们称为"funargs",简称"functionalarguments")。函数接受了函数参数是称为高阶函数或,更接近于数学上,运算符。函数也可能从别的函数返回出来。函数从别的函数返回,那么... 阅读全文
posted @ 2015-10-17 20:44 Olive_branch 阅读(155) 评论(0) 推荐(0) 编辑
摘要:作用域链作用域链是对象的集合,在代码的上下文里,他们提供给标识符进行查找的。这个规则也很简单,类似于原型链:如果一个变量在它自己的作用域(自己的变量/激活对象)未找到的话,它会继续找它的父变量对象,依次类推。对于上下文,标识符有: 变量的名称,函数声明,形参,等等。当一个函数查找它代码的标识符,这个... 阅读全文
posted @ 2015-10-17 17:39 Olive_branch 阅读(164) 评论(0) 推荐(0) 编辑
摘要:变量对象变量对象是关于该执行上下文的数据集合。它是特殊的对象,这个对象存放变量和函数声明定义在这个上下文里。注意到,函数表达式(不同于函数声明)是不在变量对象里的。变量对象是一个抽象的概念。对于不同的上下文类型,物理上,它有不同的表现。比如,在全局上下文这个变量对象就是全局对象自己(这就是为什么我们... 阅读全文
posted @ 2015-10-17 00:54 Olive_branch 阅读(344) 评论(0) 推荐(0) 编辑
摘要:执行上下文一个执行上下文可以抽象成一个简单对象。每个执行上下文有系列的属性(我们可以叫做上下文的状态)来跟踪关联代码的处理。下面的图是一个上下文的结构:除了这三个必须的属性(变量对象,this对象和作用域链),一个执行上下文可能有其他的附加状态依赖于实现。 阅读全文
posted @ 2015-10-16 23:38 Olive_branch 阅读(108) 评论(0) 推荐(0) 编辑
摘要:执行上下文堆栈有三种类型的ECMAScript代码:全局代码,函数代码和eval代码。代码执行在它的执行上下文里。有唯一的全局上下文,以及可能有多个函数和eval上下文。每一个函数调用,进入到函数的执行上下文,执行函数的代码。当调用到 eval 函数, 进入到 eval 执行上下文,执行它的代码。注... 阅读全文
posted @ 2015-10-16 00:14 Olive_branch 阅读(748) 评论(0) 推荐(0) 编辑
摘要:构造器除了通过特定的模式来创建对象,构造函数也是很有用的方式——对于新创建的对象,它自动设置了原型对象。这个原型对象是存放在那ConstructorFunction.prototype的属性上。比如,我们可能会重写上一个例子,通过使用a构造器函数来实例对象b,c。这样,对象a的角色由Foo.prot... 阅读全文
posted @ 2015-10-15 22:18 Olive_branch 阅读(150) 评论(0) 推荐(0) 编辑
摘要:对象ECMAScript是高度抽象的面向对象语言,处理对象的。同样也有基本类型,但是他们在需要的情况下,也可以转型成对象。定义: 对象是拥有一系列属性以及唯一的原型对象。那原型对象可能是对象,也可能为空。让我们看一个基本对象的例子。对象的原型是通过内部的[[Prototype]]来引用的。然而,我们... 阅读全文
posted @ 2015-10-15 20:00 Olive_branch 阅读(107) 评论(0) 推荐(0) 编辑
摘要:自己读jQuery代码有些日子了,一直感觉没领悟到什么,一直也没有写些东东,来记录下自己的感悟,看到各位大神的blogs,就一直没勇气去写下来,纠结再三,觉得还是有必要写下点东西,不论幼稚,肤浅,只求自己有点长进...先看一下jQuery实例:1 jQuery = function( selecto... 阅读全文
posted @ 2015-10-11 22:49 Olive_branch 阅读(99) 评论(0) 推荐(0) 编辑
摘要:AMDAMD(Asynchronous Module Definition) API 制定了定义模块的规范,这个模块和它要依赖的能异步加载的。这和浏览器的异步加载模块的坏境刚好适应,同步加载可能会导致性能,可用,调试,跨域问题API 规范(Specification)define() 函数这个规范定... 阅读全文
posted @ 2015-10-11 19:50 Olive_branch 阅读(304) 评论(0) 推荐(0) 编辑