一.什么是表达式和语句
1.表达式
区别:1.表达式一般有值,语句可能有也可能没有。 2.语句一般会改变环境.(声明,赋值)
- add (1+2)的表达式的值为函数的返回值,只有函数有返回值
- console.log表达式的值为函数本身.
- console.log(3)表达式的值是多少? (undefined)
2.JS重点
- 1.大小写是敏感的 (Var a和 var A是不同的)
- 2.大部分空格没有实际意义
- 3.回车一样没有实际意义(只有一个地方不能加回车,return后面不能加回车)
二.标识符的规则
- 第一个字符.可以是Unizode字母或$或_或中文
- 后面的字符,除了上面所有还有数字 Unlaught.Syntax(语法)Error:Invaid(不合法) or unexpected token(字符串) (没有捕获的语法错误)
- 注释 . // (只能解释一行) /* 任何东西 */
- 区块.block. 常与if/for/while合用
if else语句
- if(表达式){语句1}else{语句2} 如果表达式成立,则执行表达式 否则执行表达式2
- =是“赋值” ===是“等于”
a = 1 if(a === 2) console.log('a') console.log('a 2')
这种情况只输出a=2,因为if只管第一句(分号同理) 如果是逗号的话则全部都执行(因为逗号表示这句话没完)
最推荐if ( ) { } else if ( ) { } else { }
次推荐 function fn(){ if ( ) { return } if ( ) { return } return }
switch语句(不推荐)(if...else...的升级版)
语法
switch (fruit) { case "banana": // ... break; case "apple": // ... break; default: // ... }
break
- 大部分时候省略break你就完了
- 少部分时候,可以利用break
问号冒号表达式
语法 表达式1?表达式2:表达式3.
function max (a,b) { return a>b? a:b }
&&短路逻辑(代替if else)
if(window.f1){console.log("f1存在") }
= window.f1&&console.log('f1存在')
A&&B&&C&&D 取第一个假值或D,并不会取true/false
||短路逻辑
A||B||C||D 取第一个真值或D
while循环
语法
- while(表达式){语句}
- 判断表达式的真假
- 当表达式为真,执行语句,执行完再判断表达式的真假
- 当表达式为假,执行后面的语句 while缺一部分就会死循环
for循环
语法糖
- for是while的方便写法
语法
- for(语句1;表达式2;语句3){
- 循环体
- }
- 先执行语句1
- 然后判断表达式2
- 如果为真,执行循环体,然后执行语句3
- 如果为假,直接退出循环,执行后面的语句
break和continue
退出所以循环V.S 退出当前一次循环
label语句
-
foo: { console.log(1); break foo; console.log(' '); } console.log(2);
-
{a:1} (a:1是一个对象)