1、表达式
表达式是一组代码的集合,它返回一个值。
比如:表达式:a=7。该表达式使用=运算符将值7赋予变量x,这个表达式自己的值等于7。
表达式:3+4。该表达式使用+运算符把3和4加到一起但并没有把结果(7)赋值给一个变量。
2、语句
var a=1;是一个语句
计算机程序是由计算机“执行”的一系列“指令”。 在编程语言中,这些编程指令被称为语句。 JavaScript 程序就是一系列的编程语句。
以分号结束语句不是必需的,通常建议是加上去。如果有分号分隔,允许在同一行写多条语句:
a = 5; b = 6; c = a + b;
3、JS标识符的命名规则
在 JavaScript 中,标识符命名规范和 Java 以及其他许多语言的命名规范相同,主要规范如下:
1、标识符第一个字符必须是字母、下划线_或美元符号$或是中文,其后的字符可以是字母、数字或下划线、美元符号、中文;
2、自定义的标识符不能和 JavaScript 中的关键字及保留字同名,但可以包含关键字或保留字。
3、标识符不能包含空格;
4、标识符不能包含+、-、@、#等特殊字符;
5、由多个单词组成的复合标识符命名主要有两种方式:
① 是使用下划线连接各个单词,每个单词全部小写,例如:use_name。
② 是使用驼峰式,其中又分大驼峰和小驼峰。大驼峰的格式是每个单词的首字母大写,其余字母小写,例如:UseName;小驼峰的格式是第一个单词全部小写,第二单词开始的每个单词首字母大写,其余字母小写,例如:useName。
合法标识符示例:
user_name
userName
_name
$name
ab
ab123
用户名
非法标识符示例:
1a //第一个字符为数字
a b //标识符包含空格
a@b //标识符包含特殊符号
while //关键字
4、if...else...
在if( )else结构中,当特定条件为真时,即今当表达式为真时,才会执行程序中的语句1;仅当表达式为假时执行语句2。
if(表达式){
语句1
}else{
语句2
}
if( )和else结构可以使用else if( )进一步扩展:
if(表达式){
语句1
}else if{
语句2
}else{
语句3
}
如果代码块只有一个语句,无需把代码块放在花括号里。如果不加花括号,代码仍然能够正确运行。然而,如果不加花括号,阅读代码的人可能不明其意,因此最好加上。
5、while循环
while语句相当于重复执行的if()。为while()提供一个表达式,在表达式的结果为真时执行代码块。与if()不同的是,每次执行完代码块后while()都会检查那个表达式。如果仍未真再次执行代码块;当表达式为假时,执行代码块之后的语句。 示例:
var i=1;
while(i<=5)}{
console.log(i);
i++;
}
打印结果如下:
1
2
3
4
5
6、for循环
for()结构也能重复多次执行相同语句。
示例:
for(var i=1;i<=5;i++){
console.log(i);
}
打印结果如下:
1
2
3
4
5
for()的用法比while()复杂一些。此时,圆括号内不是一个测试表达式,而是三个表达式,它们之间使用分好隔开:初始化表达式,测试表达式和迭代表达式。for()结构表达式初始化和迭代表达式更简洁。
执行过程需要注意的是:
1、先执行初始化表达式,初始化表达式只执行一遍;
2、接着执行测试表达式,如果结果为真。执行循环体;
3、执行完循环体后运行迭代表达式;
4、再重新执行测试表达式,继续判断结果是否为真。若为真继续执行循环体继续上述步骤,否则执行for()之后的语句。
7、Break 和 Continue
break 语句“跳出”循环。
continue 语句“跳过”循环中的一个迭代。
Break语句
break 语句也可用于跳出循环。
break 语句会中断循环,并继续执行循环之后的代码(如果有)
break 语句在多重循环当中会中断嵌套的最近的一个循环
break示例:
for(var i=1;i<=5;i++){
if (i === 3) { break; }
console.log(i);
}
continue 语句
continue 语句中断(循环中)的一个迭代,如果发生指定的条件。然后继续循环中的下一个迭代。
示例跳过值 3 :
for(var i=1;i<=5;i++){
if (i === 3) { continue; }
console.log(i);
}
8、label
标记语句
标记就是在一条语句前面加个可以引用的标识符。
常见的使用场景为:
可使用一个标签来唯一标记一个循环,然后使用 break 或 continue 语句来指示程序是否中断循环或继续执行。
示例:在for循环中使用带标记的continue语句
var i, j;
loop1:
for (i = 0; i < 3; i++) { //第一个for语句被标记为 "loop1"
loop2:
for (j = 0; j < 3; j++) { //第二个for语句被标记为 "loop2"
if (i === 1 && j === 1) {
continue loop1;
}
console.log('i = ' + i + ', j = ' + j);
}
}
// Output is:
// "i = 0, j = 0"
// "i = 0, j = 1"
// "i = 0, j = 2"
// "i = 1, j = 0"
// "i = 2, j = 0"
// "i = 2, j = 1"
// "i = 2, j = 2"
注:在严格模式中,你不能使用 “let” 作为标签名称。它会抛出一个 SyntaxError(因为 let 是一个保留的标识符)。