ECMAScript的介绍
来源:互联网 发布:苹果5可以用移动4g网络吗 编辑:程序博客网 时间:2024/06/05 01:18
你是否了解ECMAScript?也许你乍看,不认识。其实,只要做过js的同志们,肯定会恍然大悟的。
一个完整的JavaScript实现由以下3部分组成:核心(ECMAScript), 文档对象模型(DOM),浏览器对象模型(BOM)。
ECMAScript提供了实现通用程序设计任务必需的JavaScript的语法,运算符和基本对象。
ECMAScript有5种原始类型,即Undefined, Null, Boolean, Number和String。
Undefined类型:Undefined类型只有一个值,即undefined。当声明的变量未初始化时,改变量的默认值是undefined,即Undefined类型的字面量。
Null类型:Null类型只有一个专用值null,即它的字面量。值undefined实际上是从值null派生来的,因此ECMAScript把他们定义为相等的。如下:
alert(null == undefined); //outputs "true"
尽管这两个值相等,但他们的含义不同,undefined是声明了变量但未对其初始化时赋予该变量的值,null则表示尚未存在的对象,如果函数或方法要返回的是
对象,那么找不到该对象时,返回的通常是null。
Boolean类型:Boolean类型有两个值true和false。
Number类型:Number类型即可以表示32位的整数,还可以表示64位的浮点数。几个特殊值也被定义为Number类型。
Number.MAX_VALUE和Number.MIN_VALUE定义了Number值集合的外边界。所有ECMAScript数都必须在这两个值之间,不过计算生成的数值结果可以不落在这两个数之间。
Number.POSITIVE_INFINITY表示无穷大Infinity, Number.NEGATIVE_INFINITY表示负无穷大-Infinity。当计算生成的数大于Number.MAX_VALUE时,它将被赋值 Number.POSITIVE_INFINITY,意味着不再有数字值。同样,生成的数值小于Number.MIN_VALUE的计算也会被赋值Number.NEGATIVE_INFINITY。如果计算返回的是无穷大值,那么生成的结果不能再用于其它计算。由于无穷大数可以是正数也可以是负数,可以对任何数调用isFinit()方法,以确保该数不是无穷大。
NaN表示非数(Not a Number)。NaN是个奇怪的特殊值,一般来说,这种情况发生在类型(String,Boolean等)转换失败时。例如,把单词blue转换成数值就会失败,因为没有与之等价的数值。NaN不能用于算术运算。NaN的另一个奇特之处在于,它与自身不相等,这意味着alert(NaN == NaN)返回的是false。出于这个原因,不推荐使用NaN值本身,使用函数IsNaN()会做的相当好:alert(isNaN("blue")) 返回true。
String类型:它是唯一没有固定大小的原始类型。
typeof运算符检查变量或值的类型,返回下列值之一:(1)undefined:如果变量时Undefined型的。(2)boolean:如果变量时Boolean型的。(3)number:如果变量是Number型的。(4)string:如果变量是String型的。(5)object:如果变量时一种引用类型或Null类型的。
这里需要注意的是:typeof运算符对于null值会返回object类型,这实际上是JavaScript最初实现中的一个错误,然后被ECMAScript沿用了,现在,null被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。
- ECMAScript的介绍
- 关于ECMAScript的介绍
- 第一节,ECMAScript的介绍
- ECMAScript 介绍
- ECMAScript 6新特性介绍
- ECMAScript 6新特性介绍
- ECMAScript的字符串连接
- ECMAScript的基础概念
- ECMAScript的本地对象
- ECMAScript的变量
- ECMAScript的关键字
- ECMAScript的保留字
- ECMAScript的引用类型
- ECMAScript 的一些理解
- ECMAScript的数据类型(1)
- ECMAScript的数据类型(2)
- ECMAScript的世界
- ECMAScript 6的转码器
- 关于offsetWidth, offsetHeight,offsetTop, offsetLeft
- EJB小结
- Linux 文件压缩工具指南
- Android游戏开发---关于实体的绘制与跟踪技术
- EJB3.0事务管理
- ECMAScript的介绍
- Hibernate总结——持久化对象
- 黑莓.图片的载人
- 下中国象棋的感悟
- hdu2024(c语言合法标识符)
- 浅谈产品事业部“技术管理”思路
- 生产者消费者模拟程序
- 《一个程序员的奋斗史》帮我选封面哇! —— 猜封面页数赢赠书活动~
- Android的适配器的学习和使用(整理)