学习要点:
1.语法构成
2.关键字保留字
3.变量
任何语言的核心都必然会描述这门语言最基本的工作原理 。而 JavaScript 的语言核心就是 ECMAScript,而目前用的最普遍的是第 3 版,我们就主要以这个版本来讲解。
一.语法构成
区分大小写
ECMAScript 中的一切,包括变量、函数名和操作符都是区分大小写的。
例如: text 和Text 表示两种不同的变量。
标识符
所谓标识符 ,就是指变量 、函数、属性的名字 ,或者函数的参数 。
标识符可以是下列格式规则组合起来的一或多个字符:
1.第一字符必须是一个字母、下划线 (_)或一个美元符号($)。
2.其他字符可以是字母、下划线、美元符号或数字。
3.不能把关键字、保留字、 true、false 和 null 作为标识符。例如:myName、book123 等
注释
ECMAScript 使用 C 风格的注释,包括单行注释和块级注释。
// 单行注释
/*
* 这是一个多行
* 注释
*/
直接量(字面量 literal)
所有直接量 (字面量 ),就是程序中直接显示出来的数据值。
100 //数字字面量
'李炎恢' //字符串字面量
false //布尔字面量
/js/gi //正则表达式字面量
null //对象字面量
在 ECMAScript 第 3 版中,像数组字面量和对象字面量的表达式也是支持的,
如下:{x:1, y:2} //对象字面量表达式
[1,2,3,4,5] //数组字面量表达式
二.关键字和保留字
ECMAScript-262 描述了一组具有特定用途的关键字 ,一般用于控制语句的开始或结束 ,或者用于执行特定的操作等。
关键字也是语言保留的,不能用作标识符。
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 | |
ECMAScript-262 还描述了另一组不能用作标识符的保留字。
尽管保留字在 JavaScript中还没有特定的用途,但它们很有可能在将来被用作关键字。
ECMAScript-262 第 3 版定义的全部保留字
abstract |
enum |
int |
short |
boolean |
export |
interface |
static |
byte |
extends |
long |
super |
char |
final |
native |
synchronized |
class |
float |
package |
throws |
const |
goto |
private |
transient |
debugger |
implements |
protected |
volatile |
double |
import |
public | |
三.变量
ECMAScript 的变量是松散类型的,所谓松散类型就是用来保存任何类型的数据。
定义变量时要使用 var 操作符(var 是关键),后面跟一个变量名(变量名是标识符 )。
var box;
alert(box);
这句话定义了 box 变量,但没有对它进行初始化(也就是没有给变量赋值 )。
这时,系统会给它一个特殊的值 --undefined(表示未定义)。
var box= '李炎恢';
alert(box);
所谓变量,就是可以初始化后可以再次改变的量。
ECMAScript 属于弱类型(松散类型)的语言,可以同时改变不同类型的量。
(PS:虽然可以改变不同类型的量,但这样做对于后期维护带来困难,而且性能也不高,导致成本很高! )
var boxString = '李炎恢';
boxString = 100;
alert(boxString);
重复的使用 var 声明一个变量,只不过是一个赋值操作,并不会报错。
但这样的操作是比较二的,没有任何必要。
var box= '李炎恢';
var box= 'Lee';
还有一种变量不需要前面 var 关键字即可创建变量。
这种变量和 var 的变量有一定的区别和作用范围,我们会在作用域那一节详细探讨。
box= '李炎恢';
当你想声明多个变量的时候,可以在一行或者多行操作。
var box= '李炎恢';var age= 100;
而当你每条语句都在不同行的时候 ,你可以省略分号。
(PS:这是 ECMAScript 支持的,但绝对是一个非常不好的编程习惯,切记不要 )。
var box= '李炎恢'
var age= 100
alert(box)
可以使用一条语句定义多个变量 ,只要把每个变量 (初始化或者不初始化均可 )用逗号分隔开即可,为了可读性,每个变量,最好另起一行,并且第二变量和第一变量对齐 (PS:这些都不是必须的 )。
var box= '李炎恢',
age = 28,
height;