此文译自 Dmitry A. Soshnikov 的 ECMA-262-3 in detail. Chapter 7.2. OOP: ECMAScript implementation.
概述
这一章的第二部分是关于 EMCAScript 中的面向对象编程。在第一部分中我们讨论了 OOP 的基本理论并勾画出和 ECMAScript 的相似之处。在阅读第二部分之前,如果有必要,我还是建议首先阅读这一章的第一部分 概论,因为后面将会用到其中的一些术语。
more
ECMAScript 中 OOP 的实现
在回顾了概论中的一些重点之后,我们终于回到了 ECMAScript 本身。现在,我们已经了解了它的 OOP 方式,让我们再来准
继续阅读 »
一. ES6的历史:
1996年,Netscape提交javascript给ECMA组织
1997年,发布ECMAScript 1.0版
1998年,发布ECMAScript 2.0版
1999年,发布ECMAScript 3.0版(得到巨大的成功)
2000年,ECMAScript 4.0版因版本太激进而没有通过
2007年,ECMAScript 4.0版草案发布
2008年,中止ECMAScript 4.0的开发,发布ECMAScript 3.1版本
2009年,ECMAScript 5.0版发布
2011年6月,ECMAScript 5.1版发布,且成为ISO国际标准
2013年12
继续阅读 »
原始类型
text
ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof来判断值的类型。
typeof运算符
var sTemp="test string";
alert(typeof sTemp);//outpus "string"
alert(typeof 95);//outpus "number"
text
typeof运算符返回值只有5种,分别为:如果变量是Undefined型返回"undefined",如果变量是Boolean型返回"boolean",如果变量是Number型返回"n
继续阅读 »
引用类型
Object类
```text
ECMAScript中的所有类都是由Object类继承而来。
Object类具有下列属性:
Constructor:对创建对象的函数的引用(指针),对于Object类,该指针指向原始的Object()函数
Prototype:对该对象的对象原型的引用。
Object类还有几个方法:
1、PropertyIsEnumerable(property):判断给定的属性是否可以用for...in语句进行枚举
2、ToString():返回对象的原始字符串表示。
3、ValueOf():返回最适合该对象的原始值。对于许多类,该方法返回的值都与toString()的返回值相同。
继续阅读 »
本文译自 Dmitry A. Soshnikov 的 ECMA-262-3 in detail. Chapter 1. Execution Contexts.
参阅了已有的中文翻译,以此来加深对 ECMAScript 的理解。
概要
本文将介绍 ECMAScript 的执行上下文以及与之相关的可执行代码的类型。
定义
每当控制器到达 ECMAScript 的可执行代码时,控制器就进入了一个执行上下文。
执行上下文(简称 - EC)是 ECMA-262 中的一个抽象概念,用于区别不同类型的可执行代码。
规范中并没有从技术角度来定义执行上下文的具体结构和类型,这是实现标准 ECMAScript 引擎所需要考虑的问题。
一
继续阅读 »
此文译自 Dmitry A. Soshnikov 的 JavaScript. The core..
本文是详解 ECMA-262-3 系列的概述和总结。每个部分都包含对应章节的连接,所以你可以阅读它们以获得更深入的了解。
目标阅读者:有经验的程序员,专业人士。
我们从对象的概念开始,这是 ECMAScript 的根本。
more
对象
ECMAScript 做为一个高度抽象的面向对象语言,是通过对象来交互的。即使 ECMAScript 里边也有基本类型,但是,当需要的时候,它们也会被转换成对象。
一个对象就是一个属性集合,并拥有一个独立的 prototype(原型)对象。这个 prototype 可以是一个对象或者 nu
继续阅读 »
语法
区分大小写、变量弱类型、行尾分号可有可无、注释为双斜线、括号表明代码块
变量
变量用var声明,变量的命名规则:第一个字符必须是字母、下划线或美元符号;余下的字符可以是下划线、美元符号或任何字母或数字字符。
变量命名规范:
Camel标记法:首字母小写,接下来的单词都以大写字母开头。例如:var **m**y**T**est**V**alue=0,**m**y**S**econd**T**est**V**alue="hi";
Pascal标记法:首字母大写,接下来的单词都以大写字母开头。例如:var **M**y**T**est**V**alue=0,**M**y**S**econd**T**est**V**alu
继续阅读 »
欢迎来到深入解析 ES6 系列,本系列将探讨 JavaScript 即将面世的新版本 -- ECMAScript 6。ES6 包含许多新特性,这使得 JavaScript 语言更强大和更具表现力,接下来的每周我们将逐一揭开 ES6 的神秘面纱。在开始之前,我们值得花几分钟时间来谈谈什么是 ES6 或者你期待它是什么样的。
more
什么是 ECMAScript
JavaScript 语言的标准是由 ECMA(类似 W3C 的标准化组织)制定,并命名为 ECMAScript,除其他事项外,ECMAScript 还定义了:
语法规则 -- 解析规则、关键字、声明、操作符等
变量类型 -- 布尔、数字、字符串、对象等
原型和继承机
继续阅读 »
此文译自 Dmitry A. Soshnikov 的 ECMA-262-3 in detail. Chapter 8. Evaluation strategy.
概述
本文将讨论在 ECMAScript 中向函数传递参数的策略。
计算机科学里对这种策略一般称为“evaluation strategy”,即在编程语言中求解或计算某些表达式的值的一系列规则。将参数传递给函数是其中的一个案例。
写这篇文章的原因是因为论坛上有一些类似的讨论,大家都呼吁给出 ECMAScript 中参数传递策略的最精确的说明。本文给出了相应的定义,希望对大家有所帮助。
很多程序员都确信在 JavaScript 中(甚至其它一些语言),对象是按引用传
继续阅读 »
本文译自 Dmitry A. Soshnikov 的文章 ECMA-262-3 in detail. Chapter 3. This.
翻译过程参考了现有的中文翻译,学习 ECMAScript 是一个非常抽象的过程,因为很多概念都是通过抽象的方式来解释的,作者尝试尽量用一些简单的方式并使用了一些具体图表,来使我们的学习曲线稍微平稳一点。
概述
本文将讨论和执行上下文密切相关的更多细节 - this 关键字。
实践证明,这个主题很难,在不同的执行上下文中确定 this 的值经常会发生问题。
许多程序员习惯性地讲 this 和面向对象编程密切联系在一起,this 指向了构造函数中新创建的对象。在 ECMAScript 中,这样
继续阅读 »