以图明志

JavaScript

[专题] JavaScript变量对象其三:执行上下文的两个阶段

执行上下文代码分成两个阶段来处理
现在我们终于到了本文的核心点了。执行上下文的代码被分成两个基本的阶段来处理:进入执行上下文与执行代码。变量对象的修改变化与这两个阶段紧密相关。这2个阶段的处理是一般行为,和上下文的类型无关(也就是说,在全局上下文和函数上下文中的表现是一样的)。

JavaScript

[专题] JavaScript变量对象其四:关于变量

变量只能通过使用var关键字才能声明
通常,各类文章和JavaScript相关的书籍都声称:“不管是使用var关键字(在全局上下文)还是不使用var关键字(在任何地方),都可以声明一个变量”。请记住,这是错误的概念:任何时候,变量只能通过使用var关键字才能声明。“不是变量”并不是说它不能被改变,而是指它不符合ECMAScript规范中的变量概念。

JavaScript

[专题] JavaScript变量对象其五:__parent__ 属性

通过这个属性可以直接引用到活动对象
前面已经提到过,按标准规范,活动对象是不可能被直接访问到的。但是,一些具体实现并没有完全遵守这个规定,例如SpiderMonkey和Rhino;的实现中,函数有一个特殊的属性 __parent__,通过这个属性可以直接引用到活动对象(或全局变量对象),在此对象里创建了函数。

JavaScript

[专题] JavaScript作用域链其一:作用域链定义

内部上下文所有变量对象的列表
一个执行上下文 的数据(变量、函数声明和函数的形参)作为属性存储在变量对象中。变量对象在每次进入上下文时创建,并填入初始值,值的更新出现在代码执行阶段。这一章专门讨论与执行上下文直接相关的更多细节,这次我们将提及一个议题——作用域链。如果要简要的描述并展示其重点,那么作用域链大多数与内部函数相关。

JavaScript

[专题] JavaScript作用域链其二:函数的生命周期

分为创建和激活阶段
函数的的生命周期分为创建和激活阶段(调用时),让我们详细研究它。众所周知,在进入上下文时函数声明放到变量/活动(VO/AO)对象中。让我们看看在全局上下文中的变量和函数声明(这里变量对象是全局对象自身,我们还记得,是吧?)

JavaScript

[专题] JavaScript作用域链其三:作用域链特征

作用域链相关的一些重要特征
让我们看看与作用域链和函数[[scope]]属性相关的一些重要特征。在ECMAScript中,闭包与函数的[[scope]]直接相关,正如我们提到的那样,[[scope]]在函数创建时被存储,与函数共存亡。实际上,闭包是函数代码和其[[scope]]的结合。因此,作为其对象之一,[[Scope]]包括在函数内创建的词法作用域(父变量对象)。

JavaScript

[专题] JavaScript闭包其一:闭包概论

函数式编程中一些基本定义
前面介绍了作用域链和变量对象,现在再讲闭包就容易理解了。闭包其实大家都已经谈烂了。尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的。众所周知,在函数式语言中(ECMAScript也支持这种风格),函数即是数据。

JavaScript

[专题] JavaScript闭包其二:闭包的实现

ECMAScript只使用静态(词法)作用域
讨论完理论部分,接下来让我们来介绍下ECMAScript中闭包究竟是如何实现的。这里还是有必要再次强调下:ECMAScript只使用静态(词法)作用域(而诸如Perl这样的语言,既可以使用静态作用域也可以使用动态作用域进行变量声明)。

数据结构

一次创新工场的面试题

还是考数据结构和基础
一次创新工场的面试题,记录下,有空把它们每道题详细透彻地写成博客,也是学习的一种好方法。 如何计算两个链表的公共长度?写出快速排序的算法和代码。如何判断一个链表中是否出现了循环链表?用两个栈模拟实现队列,至少完成入队、出队及计算长度的方法。

JavaScript

[专题] JavaScript闭包其三:闭包的用法

闭包可以创建出非常优雅的设计
实际使用的时候,闭包可以创建出非常优雅的设计,允许对funarg上定义的多种计算方式进行定制。顺便提下,函数对象的 apply 和 call方法,在函数式编程中也可以用作应用函数。 这里,我们将它们看作是应用函数 —— 应用到参数中的函数(在apply中是参数列表,在call中是独立的参数)……

Web设计理念

模拟Google今天的超炫现代舞Doodle

很有创意的Doodle
不知道大家有没有注意到谷歌今天官网上的logo,刚开始一看还以为是gif,在仔细一看,发现并非如此,原来是使用CSS Sprite技术,利用一个初始图片和一张画满各个动作的拼接图片,从而实现了动画效果。本人一时手痒,就想把这个扒下来,但发现谷歌的js写的太牛逼了,无奈,只能自己用自己的思维去模拟一个了。
4 / 4 首页 < Prev 1 2 3 4 Next > 尾页 页码: