表达式和语句
- 表达式:一般都有值,如
- 1+2;表达式的值为3
 - add(1, 2);  表达式的值为函数的返回值
 - console.log; 表达式的值为函数本身
 - console.log(3); 表达式的值为undefined
 
 - 语句: 可能有值,也可能没有,一般会改变环境(声明、赋值),如 var a = 1;
 
标识符
- 必须以Unicode字母或 _ 或 $ 开头
 - 可以包括Unicode字母、_ 、$、数字
 - 不可以用系统的关键字、保留字
 - 变量名是标识符:
- var _ = 1;
 - var $ = 1;
 - var 今天 = ‘开心’;
 
 
变量声明
var a = 1;let a = 1;const a = 1;a = 1;
数据类型
- number : 64位浮点数
 - string :每个字符占两个字节
 - bool :true/false
 - symbol
 - undefined
 - null
 - object
 - 五个falsy值:相当于false又不是false的值,undefined, null, 0, NaN, ‘’
 - 类型转换
- number -> string:  String(n), n + ‘’
 - string -> number: Number(s), parseInt(s)/parseFloat(s), s - 0
 - x -> bool: Boolean(x), !!x
 - x -> String: String(x), x.toString()
 
 
流程控制
- if else 语句
if (表达式) {
语句
} else if (表达式) {
语句
} else {
语句
} 
if(a){    alert(a);}else if(b){    alert(b);}else{       alert(c);     }// if与&&的转换:if(1>2){       alert(3);}//  等价于1>2 && alert(3);
- while
while (表达式) {
语句
}
简化的for循环
等价于 for(;条件;){} - for 语句
 
for(var i = 0; i < 10; i++){     document.write('a');      }
// switch: js中可接收任意类型数据var a = 1;switch(a) {    case 1:    console.log("number");        break;    case "a":        console.log("string");         break;    case true:         console.log("true");         break;    case null:         console.log("null");         break;    case undefined:         console.log ("undefined");         break;}
运算符
- 问好冒号表达式
1>2? a:b - && 短路
A && B && C
取第一个假值或最后一个值 - || 短路
A || B || C
取第一个真值或最后一个值 
JS入门教程