网站首页
Veda 原型
互联网资讯
魔法图书馆
晚上八点
订阅
邮件
Veda 原型
成功,唯有积累,没有奇迹
编程语言
PHP服务器脚本
Python程序设计
Java编程语言
C/C++编程语言
前端设计
HTML/HTML 5
CSS层叠样式表
JavaScript
JQuery
Ajax技术
Flex/ActionScript
计算机基础
数据结构
计算机算法
编程思想
面向对象技术
计算机数学与基础
数据之美
数据库技术
Web设计理念
软件架构技术
开源与工具
开源项目与工具
信息安全
搜索引擎优化
网站运维
移动开发
iOS开发
Android开发
程序与生活
IT人家
智力开发
互联网时代
游戏 享受与创造
友情链接
博客导航
专题列表
计算机书籍推荐
关于本站
以图明志
-A wakening of the Trailblazer-
Gundam OO
Unlimited Blade Works
Fate Stay Night
Code Geass
Code Geass
Gundam OOQ Design
Gundam OO
Aeolia Schenberg
Gundam OO
JavaScript
[
专题
]
JavaScript探秘:命名函数表达式替代方案
在函数内部声明一个函数
JavaScript
命名函数
替代方案
在 2011年05月06日 那天写的
8,766 views
其实,如果我们不想要这个描述性名字的话,我们就可以用最简单的形式来做,也就是在函数内部声明一个函数(而不是函数表达式)。显然,当存在多个分支函数定义时,这个方案就不行了。不过有种模式貌似可以实现:那就是提前使用函数声明来定义所有函数,并分别为这些函数指定不同的标识符。
阅读全文 >>
JavaScript
[
专题
]
JavaScript探秘:对象Object
js是一门高度抽象的面向对象语言
JavaScript
对象
抽象
在 2011年05月06日 那天写的
10,947 views
ECMAScript是一门高度抽象的面向对象(object-oriented)语言,用以处理Objects对象。当然,也有基本类型,但是必要时,也需要转换成object对象来用。首先我们要清楚,一个Object的prototype是一个内部的[[prototype]]属性的引用。
阅读全文 >>
JavaScript
[
专题
]
JavaScript探秘:原型链 Prototype chain
一个原型对象的原型不为null的话
JavaScript
原型链
对象
在 2011年05月06日 那天写的
16,837 views
原型对象也是普通的对象,并且也有可能有自己的原型,如果一个原型对象的原型不为null的话,我们就称之为原型链(prototype chain)。想象一个这种情况,2个对象,大部分内容都一样,只有一小部分不一样,很明显,在一个好的设计模式中,我们会需要重用那部分相同的,而不是在每个对象中重复定义那些相同的方法或者属性。
阅读全文 >>
JavaScript
[
专题
]
JavaScript探秘:构造函数 Constructor
自动为创建的新对象设置了原型对象
JavaScript
构造函数
在 2011年05月06日 那天写的
46,322 views
除了创建对象,构造函数(constructor) 还做了另一件有用的事情—自动为创建的新对象设置了原型对象(prototype object) 。原型对象存放于 ConstructorFunction.prototype 属性中。每一个object都有一个prototype. 构造函数Foo也拥有自己的__proto__, 也就是Function.prototype。
阅读全文 >>
JavaScript
[
专题
]
JavaScript探秘:可执行的上下文堆栈
执行上下文栈(Execution Context Stack)
JavaScript
上下文
堆栈
在 2011年05月06日 那天写的
16,009 views
在ECMASscript中的代码有三种类型:global, function和eval。每一种代码的执行都需要依赖自身的上下文。当然global的上下文可能涵盖了很多的function和eval的实例。函数的每一次调用,都会进入函数执行中的上下文,并且来计算函数中变量等的值。eval函数的每一次执行,也会进入eval执行中的上下文,判断应该从何处获取变量的值。
阅读全文 >>
JavaScript
[
专题
]
执行上下文其一:变量对象与活动对象
Variable Object / activation object
上下文
对象
在 2011年05月06日 那天写的
15,783 views
变量对象(Variable Object)是一个抽象的概念,不同的上下文中,它表示使用不同的object。例如,在global全局上下文中,变量对象也是全局对象自身[global object]。当函数被调用者激活,这个特殊的活动对象(activation object) 就被创建了。
阅读全文 >>
JavaScript
[
专题
]
执行上下文其二:作用域链 Scope Chains
作用域链的原理和原型链很类似
上下文
作用域链
在 2011年05月06日 那天写的
11,447 views
作用域链的原理和原型链很类似,如果这个变量在自己的作用域中没有,那么它会寻找父级的,直到最顶层。标示符[Identifiers]可以理解为变量名称、函数声明和普通参数。例如,当一个函数在自身函数体内需要引用一个变量,但是这个变量并没有在函数内部声明(或者也不是某个参数名),那么这个变量就可以称为自由变量[free variable]。
阅读全文 >>
JavaScript
[
专题
]
执行上下文其三:闭包 Closures
理论上ECMAScript中所有函数都是闭包
上下文
闭包
在 2011年05月07日 那天写的
12,181 views
在ECMAScript中,函数是“第一类”对象。这个名词意味着函数可以作为参数被传递给其他函数使用 (在这种情况下,函数被称为“funargs”——“functional arguments”的缩写[译注:这里不知翻译为泛函参数是否恰当])。接收“funargs”的函数被称之为 高阶函数(higher-order functions) ,或者更接近数学概念的话,被称为 运算符(operators) 。
阅读全文 >>
JavaScript
[
专题
]
执行上下文其四:This指针
任何对象都可以作为上下文的this值
上下文
This指针
在 2011年05月07日 那天写的
13,236 views
任何对象都可以作为上下文的this值。我想再次澄清对与ECMAScript中,与执行上下文相关的一些描述——特别是this的误解。通常,this 被错误地,描述为变量对象的属性。这个特点很重要,因为和变量不同,this是没有一个类似搜寻变量的过程。当你在代码中使用了this,这个 this的值就直接从执行的上下文中获取了,而不会从作用域链中搜寻。
阅读全文 >>
JavaScript
[
专题
]
JavaScript探秘:强大的原型和原型链
JavaScript继承模型使用 prototypal 原型模型
JavaScript
原型
原型链
在 2011年05月07日 那天写的
46,507 views
JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大。实现传统的类继承模型是很简单,但是实现 JavaScript 中的原型继承则要困难的多。
阅读全文 >>
JavaScript
[
专题
]
JavaScript函数其一:函数声明
主要特点在于它们仅仅影响变量对象
JavaScript
函数声明
在 2011年05月07日 那天写的
9,710 views
下面我们介绍的是一个非常常见的ECMAScript对象——函数(function),我们将详细讲解一下各种类型的函数是如何影响上下文的变量对象以及每个函数的作用域链都包含什么,以及回答诸如像下面这样的问题:下面声明的函数有什么区别么?(如果有,区别是什么)。
阅读全文 >>
JavaScript
[
专题
]
JavaScript函数其二:函数表达式
它在源码中总是处在表达式的位置
JavaScript
函数
函数表达式
在 2011年05月07日 那天写的
12,539 views
另外一种可以取代函数声明的方式是函数表达式,解释如下:在源码中须出现在表达式的位置,有可选的名称,不会影响变量对象,在代码执行阶段创建。这种函数类型的主要特点在于它在源码中总是处在表达式的位置。
阅读全文 >>
JavaScript
[
专题
]
JavaScript函数其三:分组中的函数表达式
函数创建后的调用中用圆括号来包住它
JavaScript
分组操作符
函数表达式
在 2011年05月07日 那天写的
13,354 views
让我们回头并回答在文章开头提到的问题——”为何在函数创建后的立即调用中必须用圆括号来包围它?”,答案就是:表达式句子的限制就是这样的。按照标准,表达式语句不能以一个大括号{开始是因为他很难与代码块区分,同样,他也不能以函数关键字开始,因为很难与函数声明进行区分。
阅读全文 >>
JavaScript
[
专题
]
JavaScript函数其四:函数构造器
这种函数的[[Scope]]属性仅包含全局对象
JavaScript
函数
函数构造器
在 2011年05月07日 那天写的
12,340 views
既然这种函数对象也有自己的特色,我们将它与FD和FE区分开来。其主要特点在于这种函数的[[Scope]]属性仅包含全局对象。我们看到,函数bar的[[Scope]]属性不包含foo上下文的Ao——变量”y”不能访问,变量”x”从全局对象中取得。
阅读全文 >>
JavaScript
[
专题
]
JavaScript变量对象其一:VO的声明
一个与执行上下文相关的特殊对象
变量对象
声明
在 2011年05月08日 那天写的
15,411 views
如果变量与执行上下文相关,那变量自己应该知道它的数据存储在哪里,并且知道如何访问。这种机制称为变量对象(variable object)。变量对象(缩写为VO)是一个与执行上下文相关的特殊对象,它存储着在上下文中声明的以下内容:变量 (var, 变量声明);函数声明 (FunctionDeclaration, 缩写为FD);函数的形参。
阅读全文 >>
JavaScript
[
专题
]
JavaScript变量对象其二:VO在不同的执行上下文中
不同执行上下文中的变量对象
变量对象
执行上下文
在 2011年05月08日 那天写的
10,878 views
对于所有类型的执行上下文来说,变量对象的一些操作(如变量初始化)和行为都是共通的。从这个角度来看,把变量对象作为抽象的基本事物来理解更为容易。同样在函数上下文中也定义和变量对象相关的额外内容。当访问全局对象的属性时通常会忽略掉前缀,这是因为全局对象是不能通过名称直接访问的。
阅读全文 >>
3 / 4
首页
< Prev
1
2
3
4
Next >
尾页
页码:
邮件订阅
输入您的邮箱地址,将会收到本站的文章更新信息,赶紧订阅吧。
RSS
Google
鲜果
抓虾
九点
有道
哪吒
QQ邮箱
时不我待
本周热门博文
品读《诫子书》
129 views
更多优秀文章,请移步
精华排行
互联网资讯
陈一舟:创业18年,我领悟的五点心得
384 views
ADS
大音声稀
当你停下来休息的时候,不要忘记别人还在奔跑!
晚八点
新时代严肃阅读指南:文本矩阵简述
662 views
我的微博
ADS
文章分类
专题推荐
其它
捐助本站
计算机书籍推荐
Sponsors
按月归档