1.基本概念
- 语法
- 数据类型
- 流程控制语句
- 函数
1.1 语法
1.1.1 区分大小写
ECMAScript中的一切都要区分大小写(变量、函数名、操作符);例如:test和Test分别表示两个不同的变量,而函数名不能使用typeof,因为它是关键字,但是typeOf就可以是个有效的函数名。
1.1.2 标识符
标识符:即变量、属性、函数的名字,或者函数的参数。
规则:由数字、下划线、字母、$组成,不能由数字开头。
一般惯例按照驼峰命名法;不能将关键字、保留字以及true、false和null作为标识符。
1.1.3 js注释
是用了C风格的注释,包括单行注释和块级注释:
单行注释
// 单行注释
多行注释
/*
* 这是一个多行
* (块级)注释。注:第二三行的星号不是必须的,只是为了提高代码可读性。
*/
1.1.4 严格模式(strict mode)
严格模式(ECMAScript 5中引入):为js定义了一种不同的解析与执行模型,在严格模式下ES 3中的一些不确定的行为将得到处理,对某些不安全的操作也会抛出错误。严格模式下,js执行结果会有很大不同。
要在整个脚本中启用严格模式,需要在顶部添加如下代码:
"use strict"
该代码是一个编译指令,切换js引擎到严格模式。
如果函数内部的上方包含这条编译指令,可以指定函数在严格模式下执行:1
2
3
4function doSometing (){
"use strict"
// 函数体
}
1.1.5 语句
ECMAScript语句以一个分号结尾。增加代码可读性以及性能,降低代码出错率。
2.变量
js作为弱类型语言,它的变量是松散的,即可以保存任何类型的数据。说白了就是每个变量仅仅作为保存值的占位符而已。
定义变量时要用var(关键字)操作符,后跟变量名(标识符),例如:
var message ;
此代码定义了一个名message的变量,可以用来保存任何值(未初始化时,它会保存一个特殊的值–undefined)。也可以在定义变量时直接初始化。初始化的过程就是给变量赋一个值。
注:var操作符定义的变量,将成为定义该变量的作用域中的局部变量。 即,如果在函数中使用var定义一个变量,那么变量在函数退出后就会被销毁。1
2
3
4
5function test (){
var message = 0; //局部变量
}
test();
alert(message); //报错!!! 访问不到
可以省略var操作符来创建一个全局变量,但不推荐,因为在局部作用域中定义全局变量将会很难维护
使用一条语句定义多个变量,将每个变量使用逗号隔开。初始化化或未初始化均可。
1
2
3 var message = "hi",
found = false, // 缩进提高代码可读性.
age = 22;
3.数据类型
- 基本数据类型(5种):Number, String, Boolean, Null, Undefined
- 引用数据类型:Object
ECMAScript不支持任何形式创建自定义类型,所有的值最终都是以上6种数据类型之一。

