1、概念介绍
- 表达式:JS中的短语,解释器碰到这个短语会根据表达式的内容以及操作符计算出结果。
- 语句:语句是JS当中的命令,执行语句时会发生一些事情,我们把JS中会促使某件事情发生的命令称之为语句。
- 作 用:例如二元加就是让两个操作数相加
- 副作用:副作用是在计算结果的过程中,系统状态的一种变化,或者与外部世界进行的可观察的交互。
备注:很多操作符本身是没有副作用的,例如比较运算;但是递增、递减和赋值是带有副作用的;
表达式不一定带有副作用,语句一定带有副作用(肯定是让某一个值产生或者发生了变化)
2、语句分类
- 表达式语句:递增、递减、赋值语句、带符号的赋值语句(+=、-=、*=、/=)、delete操作符
- 复合语句:大括号括起来的好多条语句,包括大括号统称为复合语句(大括号内部语句使用;结尾,大括号不使用分号,使用也不会报错)
- 空语句( ; ),遇到空语句会直接略过,什么都不做;空语句有时候会在开头使用(为了避免多人开发,代码合并上一个代码结尾忘记使用分号,自己模块开头使用分号避免出错)
- 声明语句;例如var、const(es6)、let(es6)、function
备注:var只有函数作用域,const和let有块级作用域
//声明变量,var为关键字,str为变量名
var str = 'es6';
var num;
num = 100;
//声明函数,使用function关键字,fun为函数名,()没有参数,不传参
function fun(){
var name='Lily';
console.log(name);
}
//匿名函数,赋值给变量
var funName = function (){
console.log('匿名函数');
}
//两者区别:function函数定义函数名和内容整体提前;赋值给变量这种方式只有名字提前,内容不会提前,定义前使用会报错()
fun(); //调用函数
function fun(){
console.log('定义函数');
}
funName(); //调用函数 报错funName is not a function
var funName = function(){
console.log('匿名函数');
}
备注:var定义的变量,变量名字会被提前(变量提升),但是内容不会提前;function定义的函数会整体被提前,所以定义位置不限制;但是建议在顶部进行统一定义,然后再使用
3、分支语句
if语句
if (条件) {
如果条件为 true 时执行的代码
}
else语句
if (条件) {
条件为 true 时执行的代码块
} else {
条件为 false 时执行的代码块
}
Switch语句
switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}
break 关键词
如果 JavaScript 遇到 break 关键词,它会跳出 switch 代码块(只能跳出当前语句,而非所有语句)
default 关键词
default 关键词规定不存在 case 匹配时所运行的代码
备注:本内容学习总结来源于喜马拉雅冰山工作室沙翼老师主讲的(陪你读书(JavaScript WEB前端))