现在我们进行了到了JS学习的环节,先来了解一些JS语法,语法是JS的核心。
1 基本概念
什么是表达式和语句 JavaScript中的表达式和语句是有区别的.一个表达式会产生一个值,它可以放在任何需要一个值的地方,比如,作为一个函数调用的参数.下面的每行代码都是一个表达式:
1+2
console.log(a)
functionf fun(){}
而语句可以理解成一个行为.for循环语句和if语句就是典型的语句.一个程序是由一系列语句组成的.JavaScript中某些需要语句的地方,你可以使用一个表达式来代替.这样的语句称之为表达式语句.但反过来不可以:你不能在一个需要表达式的地方放一个语句.比如,一个if语句不能作为一个函数的参数,下面这个就是一个语句
var x;
if (y >= 0) {
x = y;
} else {
x = -y;
}
什么是标识符
js中由我们自主命名的都称为标识符,比如变量名,函数名,属性名等都可以成为标识符,通俗点来说,标识符就是我们写代码时为它起的名字,标识符的命名有以下规则:
- 标识符只能由字母,下划线,$,数字构成,字母指的是Unicode字母,可以是一些奇怪的东西,但是一般都是用英文字母从A-z。
- 第一位不能是数字,
- 标识符不能为函数已经采用的关键字和保留字。
- 命名是区分大小写的,A和a是完全不同的标识符
- 可以用中文,但是太lowb了最好不用
- 最好采用驼峰命名法则,第一个首字母小写后面如果连接单词首字母大写,比如getElement,sayHi这种。
2 流程控制语句
讲流程控制语句前需要说一下代码块,代码块是指把代码用{}包起来,常常和流程控制语句一起使用,{}本身没有什么用处,添加{}只是更加方便理解一些。 JavaScript中的语句是从上到下一层一层执行的 通过流程控制语句可以控制程序执行的流程,使程序可以根据一定的条件来选择执行。所以,我们必须清楚每条语句的执行流程。 常见的流程控制语句有以下几个:
if语句(条件判断语句)
if语句有三种
1 条件判断语句
条件成立才执行。如果条件不成立,那就什么都不做。
语法:
if(判断表达式){
语句1
}
2 条件分支语句
或者这样的:
if(条件表达式){
语句1 //条件为真时,执行该语句
}else{
语句2 //条件为假时,执行该语句
}
3 多条件分支语句
if(条件表达式){
语句1 //条件为真时执行
}else if(条件表达式){
语句2 //如果条件1不为真,条件2为真时,执行
}else if(条件表达式){
语句3 //如果条件1,条件2 不为真,条件3为真时,执行
}else{
语句4 //如果都不为真,则执行最后的语句4
}
switch语句 switch语句也叫条件分支语句,可以称为是if else语句的升级版,语法如下
switch( 表达式){
case 1
语句1;
break;
case2
语句1;
break;
case3
语句1;
break;
…………
default
语句1;
}
它的意义如下:
首先,计算出switch后面的括号中可以是表达式也可以是单个值,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。然后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分。
特别注意:不能够省略break,省略break会继续执行接下来的语句,出现case穿透现象。
while语句
while是流程控制语句中的一种,叫做循环结构语句,通过循环语句可以反复的执行一段代码多次。
语法如下:
while(条件表达式){
语句1
}
while语句在执行时,先对条件表达式进行求值判断;如果值为true,则执行循环体:循环体执行完毕以后,继续对表达式进行判断如果为true,则继续执行循环体,以此类推如果值为false,则终止循环。 除了while语句,之外,还有一个do……while语句,语法如下:
do{
语句
}while(条件表达式)
它和while的区别就是,while语句是先进行条件判断再执行循环体,但是do while语句是先执行一次循环体,再进行条件判断,然后再进入循环状态。也就是说,do...while可以保证循环体至少执行一次,而while不能。
for语句
for 语句也是循环流程语句,它的语法如下:
for(初始化表达式;条件表达式;更新表达式){
语句
}
例:
for(let i= 0;i < 10; i++){
console.log(i)
}
①执行初始化表达式,初始化变量(初始化表达式只会执行一次) ②执行条件表达式,判断是否执行循环: 如果为true,则执行循环③ 如果为false,终止循环 ④执行更新表达式,更新表达式执行完毕继续重复②
for循环和while循环最大的区别就是for循环把所有的表达式都写在了一起,更加方便,因为while语句需要另外的初始化和设置循环条件。
break continue label介绍
break
break可以用来退出switch语句或退出整个循环语句(循环语句包括for循环、while循环。不包括if。if里不能用 break continue,否则会报错)break会立即终止离它最近的那个循环语句。
for (var i = 0; i < 5; i++) {
console.log('i的值:' + i);
if (i == 2) {
break; // 注意,虽然在 if 里 使用了 break,但这里的 break 是服务于外面的 for 循环。
}
}
continue
continue可以用来跳过当次循环,继续下一次循环。同样,continue默认只会离他最近的循环起作用。
for (var i = 0; i < 5; i++) {
if (i % 2 == 0) {
continue;
}
console.log('i的值:' + i);
}
最终输出的结果是:
i的值:1
i的值:3
label
label可使用一个标签来唯一标记一个循环,然后使用 break 或 continue 语句来指示程序是否中断循环或继续执行,一般用处很少。
语法:
label : // label 可以是所有非关键字保留字的标识符
statement // 语句
label必须要和continue或者break一起使用才行,不能单独使用