I:表达式和语句
表达式和语句要分清楚首先得从他们的差异性来讲:
(1)一般来说。表达式一般是有值的,而语句可能有也可能没有
(2)语句一般会改变环境。
比如:var a = 1+3 //该环境就发生了改变,你声明了一个a,它为1+3。而在这个语句中的1+3其实就是一个表达式
当然这只是一般情况。语句和表达式的核心区别在于:语句是为了进行某种操作,一般情况下不需要返回值,而表达式都是为了得到返回值,一定会返回一个值(这里的值不包括undefined)。
PS:console.log表达式的值就是它本身。console.log(1)的值是undefined。
这个1只是console.log你执行后打印出来的1
II:标识符的规则
(1)第一个字符只能是是Unicode字母或$或_或中文(不能数字,不能数字,不能数字)
(2)后面的字符除了上述的几类字符外,还可以是数字
III:空格和回车
在JS中,只要不影响断句,这个大前提下。空格和回车可以随便加。但是,return后面不能加回车。因为JS会看不到你回车后面的东西,直接返回undefined
IV:if else 语句
1、语法结构
if(表达式){ 语句 }else{ 语句 } //{}在语句只有一句时可以省略。但最好别省。如果省略,它就只会读取第一句的内容。
2、变态情况
let a = 1 if(a === 2) console.log('a') console.log('123') //根据语法结构我们可知,在没有{}时,if只会判断第一个语句。所以不会打出‘a’,只会打出123。
V:while语句
1、语法结构
while(表达式){ 语句 }
2、逻辑
判断表达式的真假,
当表达式为真,执行语句,执行完后再判断真假,
当表达式为假,跳过语句部分,去执行while语句后面的语句
(为了方便理解逻辑,可以把while读作当......)
3、变态情况
let a = 0.1 // 初始化
while(a !== 1){ // 判断条件
console.log(a) // 循环体
a = a + 0.1 // 增长
}
这个代码是会出现死循环的。因为JS的计算不精确原因,会让 a == 1 的情况错过。出现死循环,这种情况也很恐怖,因为乍一看自己并不会发现错在哪
VI:for循环语句
for语句是把while语句给整合了
语法:
for(初始化;表达式;增长){ 循环体 } //初始化和增长可以不写,但是还是要用分号隔一下
VII: break和continue
break的作用:退出离它最近的一个for循环
continue的作用 :跳过当前一次循环 (比如:判断时发现为假的时候,就跳过这次判断,再用下一个数来判断)
VIII:label
label是 标签,标注 的意思
比如:
a:1
//其实这里就是有个label为a的东西,它标注的是1