详细介绍ECMAScript基础(1)
网上有无数的文章说明如何用JavaScript实现“傻瓜式的Web小把戏”,它们包括如何弹出用户提示信息、交换图片以及创建简单的游戏等。虽然这些功能给Web站点增加了趣味性,不过只是复制粘贴其代码,并不能让你理解它们为什么能起作用以及如何起作用。本文章详细地讲解了JavaScript的核心ECMAScript的基础知识。
一、 语法
ECMAScript的基础概念如下:
- 区分大小写。
- 变量是弱类型的,可以随时改变变量所存数据的类型。
- 每行的结尾的分号可有可无。
- 注释与Java、C和PHP语言的注释相同,单选注释以双斜线(//)开头。多行注释以单斜线和星号(/*)开头,以星号加单斜线结尾(*/)。
- 括号表明代码块,语句被封闭在左括号({)和右括号(})之间。
二、变量
ECMAScript中的变量是用var运算符加变量名定义的。变量名需要遵守两条简单的规划:
1、每个字符必须是字母、下划线(_)或美元符号($)。
2、余下的字符可下划线、美元符号或者任何字母或者数字字符。
变量还应遵守以下三种著名的命名规划:
1、 Camel标记法——首字母是小写,接下来的单词都以大写字母开头。
如:
- Var myTestValue=0;
2、 Pascal标记法——首字母是大写的,接下来的单词都以大写字母开关。
如:
- var MyTestValue=0;
3、 匈牙利类型标记法——在以Pascal标记法命名的变量前附加一个小写字母,该变量的类型。以下是各字母前缀代表的类型:a(数组),b(布尔型),f(浮点型),fn(函数),i(整型),o(对象),re(正则表达式),s(字符串),v(变型[可以是任何类型])。如:
- var iMyTestValue=0;
三、关键字
ECMA-262定义了ECMAScript支持的一套关键字是保留的,不能用作变量名或者函数名。
下面是ECMAScript关键字的完整列表:
- Break else new var case finally return void catch for
- Switch while continue function this with default if throw
- delete in try do instanceof typeof
四、保留字
ECMA-262定义了ECMAScript定义的一套保留字是某种意义上的为将来的关键字而保留的单词,其不能用作变量名或者函数名。
下面是ECMAScript保留字的完整列表:
- Abstract enum int short Boolean export interface static byte extends long super
- Char final native synchronized class float
- package thorws const goto private transient
- debugger implements protected volatile double import public
五、原始值和引用值
原始值是存储在栈中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值是存储在堆中的对象,也就是说,存储在变量处的值是一个指针,指向存储对象的内存处。
六、原始类型
ECMAScript有5种原始类型,即Undefined,Null,Boolean,Number和String。
typeof运算符:只有有个参数,即要检查的变量或值。
如:
- var sTemp=”test string”;
- alert(typeof sTemp) //outputs “string”。
1、 Undefined类型只有一个值,即undefined,当声明的变量未初始化时,该变量的默认值是undefined。当函数无明确返回值是,返回的也是值undefined。
2、 Null类型表示尚未存在的对象,只有一个专用值null,值undefined实际上是从值null派生来的,因此ECMAScript把它们定义为想等的。
- alert (null == undefined); //outputs “true”。
3、 Boolean类型只有两个值true和false。
4、 Nunmber类型既可表示32位整数,也可表示64位浮点数。特殊值NaN,表示非数。
5、 String类型没有固定大小,可用字符串存储0或更多的Unicode字符,由16位整数表示。
七、转换
1、转换成字符串
Boolean值、数字和字符串的原始值是伪对象,他们有属性和方法,都有toString()方法
2、转换成数字
ECMAScript提供了两种把非常的原始值转换成数字的方法,即parseInt()和parseFloat (),只有对String类型调用这些方法,才能正确运行。
3、强制类型转换
- Boolean(Value)——把给定的值转换成Boolean型。
- Number(Value)——把给定的值转换成数字。
- String(Value)——把给定的值转换成字符串。