网上有无数的文章说明如何用JavaScript实现“傻瓜式的Web小把戏”,它们包括如何弹出用户提示信息、交换图片以及建立简单的游戏等。虽然这些功能给Web站点增长了趣味性,不过只是复制粘贴其代码,并不能让你理解它们为何能起做用以及如何起做用。本文章详细地讲解了JavaScript的核心ECMAScript的基础知识。正则表达式
1、 语法数组
ECMAScript的基础概念以下:闭包
2、变量函数
ECMAScript中的变量是用var运算符加变量名定义的。变量名须要遵照两条简单的规划:this
一、每一个字符必须是字母、下划线(_)或美圆符号($)。spa
二、余下的字符可下划线、美圆符号或者任何字母或者数字字符。debug
变量还应遵照如下三种著名的命名规划:指针
一、 Camel标记法——首字母是小写,接下来的单词都以大写字母开头。code
如:对象
- Var myTestValue=0;
二、 Pascal标记法——首字母是大写的,接下来的单词都以大写字母开关。
如:
- var MyTestValue=0;
三、 匈牙利类型标记法——在以Pascal标记法命名的变量前附加一个小写字母,该变量的类型。如下是各字母前缀表明的类型:a(数组),b(布尔型),f(浮点型),fn(函数),i(整型),o(对象),re(正则表达式),s(字符串),v(变型[能够是任何类型])。如:
- var iMyTestValue=0;
3、关键字
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
4、保留字
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
5、原始值和引用值
原始值是存储在栈中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值是存储在堆中的对象,也就是说,存储在变量处的值是一个指针,指向存储对象的内存处。
6、原始类型
ECMAScript有5种原始类型,即Undefined,Null,Boolean,Number和String。
typeof运算符:只有有个参数,即要检查的变量或值。
如:
- var sTemp=”test string”;
- alert(typeof sTemp) //outputs “string”。
一、 Undefined类型只有一个值,即undefined,当声明的变量未初始化时,该变量的默认值是undefined。当函数无明确返回值是,返回的也是值undefined。
二、 Null类型表示还没有存在的对象,只有一个专用值null,值undefined其实是从值null派生来的,所以ECMAScript把它们定义为想等的。
- alert (null == undefined); //outputs “true”。
三、 Boolean类型只有两个值true和false。
四、 Nunmber类型既可表示32位整数,也可表示64位浮点数。特殊值NaN,表示非数。
五、 String类型没有固定大小,可用字符串存储0或更多的Unicode字符,由16位整数表示。
7、转换
一、转换成字符串
Boolean值、数字和字符串的原始值是伪对象,他们有属性和方法,都有toString()方法
二、转换成数字
ECMAScript提供了两种把很是的原始值转换成数字的方法,即parseInt()和parseFloat (),只有对String类型调用这些方法,才能正确运行。
三、强制类型转换
8、引用类型
引用类型一般叫作类,遇到引用值时,所处理的就是对象。对象有由new运算符加上要实例化的类的名字建立的。
一、 Object类:ECMAScript中的全部类都是由这个类继承来,Object类中的全部属性的方法都会出如今其余类中。
二、 Boolean类:Boolean原始类型的引用类型。
三、 Number类:Number原始类型的引用类型。
四、 String类:String原始类型的对象表示法。
9、运算符
一、一元运算符
delete运算符删除对之前定义的对象属性或方法的引用;Void运算符对任何值返回undefine;前(后)增量/前(后)减量运算符(++、–);一元加(减)法。
二、位运算符:NOT(~),AND(&),OR(|),左移(<<),右移(>>),无符号右移运算(>>>)。
三、Boolean运算符:逻辑NOT(!),逻辑AND(&&),逻辑OR(||)。
四、乘性运算符:乘(*),除(/),取模(%)。
五、加性运算符:+,-。
六、关系运算符:小于(<),大于(>),小于等于(<=)和大于等于(>=)。
七、等性运算符:双等号(==),不等于(!=),全等号(====),非全等号(!==)。
八、条件运算符:?:
九、赋值运算符:=
10、语句
一、if语句
if(条件) 语句1 else 语句2
二、迭代语句
do{语句} while(条件),while(条件)语句,for(初始值;条件;递增量)语句,for(属性 in 表式) 语句
三、有标签的语句:标签:语句
四、 break语句:当即退出循环,阻止再次反复执行任何代码。Continue语句退出当前循环。
五、 with语句:用于设置代码在特定对象中的做用域,with(表达式)语句。
六、 switch语句:
- switch(表达式){
- case 值:语句
- break;
- case 值:语句
- break;
- case 值:语句
- break;
- ……
- Default:语句
- }
11、函数
函数是一组能够随时随地运行的语句,函数是由关键字function、函数名加一组参数以及置于括号中的要执行的代码声明的。若是函数无明确的返回值,或调用了没有参数的return语句,那么它真正返回的值是undefined。ECMAScript中的函数不能重载;在函数中可使用特殊对象arguments。
一、 Function类
- var 函数=new Function(参数1,参数2,……参数N,函数体)
二、闭包:能使用函数外定义的变量的函数。
但愿对你有帮助。