一、变量命名
数字(0-9)、字母(a-z,A-Z)、下划线(_);
tips:应避免保留字和关键字;
二、简单指令
alert(""); 提示框;
confirm(""); 确认框,点击后会响应返回true或false;
prompt(); 弹出一个输入框;
document.write("");
console.log(""); 在控制台打印相应的信息;
console.dir(""); 在控制台打印出该对象的所有信息;
三、表达式
表达式:是由运算元和运算符(可选)构成,并产生运算结果的语法结构。
基本表达式
this、null、arguments等内置的关键字
变量。即一个已声明的标识符
字面量。仅包括数字字面量、布尔值字面量、字符串字面量、正则字面量
分组表达式,即用来表示立刻进行计算的
这类表达式是原子表达式,是无法再分解的表达式。
复杂表达式
除基本表达式以外,还有如下表达式,称为复杂表达式,这类表达式需要其它表达式参与:
对象的初始化表达式、数组的初始化表达式:分明也是字面量的一种,但不把它们算作基本表达式,是因为对象字面量、数组字面量所包含的成员也都是表达式。数组初始化表达式语法如下:
[expression,expression,expression]
可以有0个及其以上个子表达式
对象的初始化表达式如下:
{
expression1: expression2,
expression1: expression2,
expression1: expression2
}
在ES5及其之前,expression1只能是字符串字面量;
ES6开始支持如下语法:
{
[expression1]: expression,
[expression1]: expression,
[expression1]: expression
}
expression1可以是任何返回值为字符串或Symbol类型的表达式(ES6新增的一种数据类型,Symbol可用来定义对象的唯一属性名;)
函数定义表达式(注意,需与函数声明语句区分开)
属性访问表达式:之前一直以为跟在对象后面的句点或者方括号是运算符,实际上不是,它们是属性访问表达式的语法结构的一部分。属性访问表达式语法如下:
expression.identifier
其中,expression可以是任意的表达式,identifier是属性名(必须合法)
或者
expression1[expression2]
其中,两个expression可以是任意的表达式
expression2的值会被转化为字符串(除非它是一个Symbol类型)
调用表达式: 分为“方法调用”与“函数调用”。方法调用的语法是:
expression0([[expression1[,expression2[,expression3]]])
其中,expression是一个返回值为函数对象的属性访问表达式,小括号提供一个逗号分隔的参数列表。
以上所有表达式,由于未使用运算符,称为单值表达式。除此之外的叫做复合表达式
四、流程控制
顺序结构: 从上到下,从左到右执行的顺序,就叫做顺序结构,程序默认就是由上到下顺序执行的
分支结构:根据不同的情况,执行对应代码
循环结构:重复做一件事情
分支结构
if语句
if (/* 条件表达式 */) {
// 执行语句
}
if — else 语句
if (/* 条件表达式 */) {
// 成立执行语句
} else {
// 否则执行语句
}
if — else if 语句
if (/* 条件1 */){
// 成立执行语句
} else if (/* 条件2 */){
// 成立执行语句
} else if (/* 条件3 */){
// 成立执行语句
} else {
// 最后默认执行语句
}
switch语句
switch (表达式) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
…
case 常量n:
语句;
break;
default:
语句;
break;
}
循环控制
while语句
while (循环条件) {
//循环体
}
do…while语句
do {
// 循环体;
} while (循环条件);
for语句
for (初始化表达式1; 判断表达式2; 自增表达式3) {
// 循环体4
}