表达式与语法
表达式
正常情况下我们默认表达式都会有返回值。但是这不是绝对的。例如:
1+1+1=3表达式的值是3add(10+10)表达式的值是函数的返回值,即10+10的值20console.log表达式的值就是这个函数它自己console.log('hello')表达式的值是undefinded,因为log函数没有设定返回值,所以返回值是undefined
语句
一般来说语句都有特定的作用,例如赋值和声明等
let i =1;这条语句既声明了变量,也赋值给它
注意
- 我们要严格区分大小写。JS对大小写很
敏感 - 一般情况下在JS中连续的空格和换行会被识别成一个空格,如有必要可以转义成正常空格,或用模板字符串
- 在JS中药特别注意return后面的空格或者回车,切记
不要换行写return后的内容,这样是不会被识别的 - 一般情况下我们使用分号来
断句,如果中间是逗号则表示该语句还没有结束
标识符
标识符的规则
标识符是不能乱起的,要注意以下几点
- 开头可以是
Unicode字符,也可以用一些特殊字符例如下划线等 - 严格区分大小写
- 不要使用语言中保留的一些关键字,例如:if,else等
注释
有两种
//,表示单行注释,后面跟要写的注释/**/,多行注释 注意不要写无意义的注释
if语句
语法
if(判断条件){输出内容}else{输出内容2}
若有多个条件可以使用else if,else if也是从if语句演变过来的
if(判断条件){
语句1
}else if(判断条件2){
语句2
}else{
语句3
}
switch语句
语法
switch(表达式){
case 'xxx';
语句1;
break;
case 'yyy';
语句2;
break;
case 'zzz';
语句3;
break;
default:
默认语句;
}
它是将传入switch的值与case中的值对比,如果正确就执行相关代码块中语句,如果往下匹配一直不成功就执行默认语句。
while语句
语法
while(表达式){
语句
}
当表达式为真,就执行代码块中语句
for语句
语法
for(赋值声明;条件表达式;计数器更新){
语句
}
过程
- 执行赋值语句
- 执行条件表达式,判断是否为真
- 为真则执行代码块中语句
- 计数器更新,且重复上面三步
- 如果执行2时为假,则退出循环,然后执行后面语句
break和continue区别
- break:遇到break则退出该循环,执行下面语句
- continue:遇到continue,则退出本次循环,然后进入下次循环
label
label常常与对象(object)搞混,它仅仅是一个非常奇怪的东西
{foo:1}//表示一个代码块中有一个标签,标签的值是1
var a{
foo:1;
}
//这是一个真的对象
小技巧
&&短路逻辑
我们都知道与运算,即必须所有的条件都是真,它的值才是真,如果有一个值为假,那它的值为假
A&&B&&C&&D
我们一般用它来取第一个布尔值为假的值,而不是取它的布尔值。如果它的布尔值是假且它的值是布尔值,那我们才会取布尔值
||短路逻辑
同上,或运算只要有一个值为真,那么我们就认为它是真
A||B||C||D
我们一般用它来取第一个布尔值为真的值,而不是取它的布尔值。如果它的布尔值是真且它的值是布尔值,那我们才会取布尔值