表达式和语句

  • 表达式:一般都有值,如
    • 1+2;表达式的值为3
    • add(1, 2); 表达式的值为函数的返回值
    • console.log; 表达式的值为函数本身
    • console.log(3); 表达式的值为undefined
  • 语句: 可能有值,也可能没有,一般会改变环境(声明、赋值),如 var a = 1;

标识符

  • 必须以Unicode字母或 _ 或 $ 开头
  • 可以包括Unicode字母、_ 、$、数字
  • 不可以用系统的关键字、保留字
  • 变量名是标识符:
    • var _ = 1;
    • var $ = 1;
    • var 今天 = ‘开心’;

变量声明

  1. var a = 1;
  2. let a = 1;
  3. const a = 1;
  4. 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 {
    语句
    }
  1. if(a){
  2. alert(a);
  3. }else if(b){
  4. alert(b);
  5. }else{
  6. alert(c);
  7. }
  8. // if与&&的转换:
  9. if(1>2){
  10. alert(3);
  11. }
  12. // 等价于
  13. 1>2 && alert(3);
  • while
    while (表达式) {
    语句
    }
    简化的for循环
    等价于 for(;条件;){}
  • for 语句
  1. for(var i = 0; i < 10; i++){
  2. document.write('a');
  3. }
  • switch
  1. // switch: js中可接收任意类型数据
  2. var a = 1;
  3. switch(a) {
  4. case 1:
  5. console.log("number");
  6. break;
  7. case "a":
  8. console.log("string");
  9. break;
  10. case true:
  11. console.log("true");
  12. break;
  13. case null:
  14. console.log("null");
  15. break;
  16. case undefined:
  17. console.log ("undefined");
  18. break;
  19. }
  • break,continue
  • label

运算符

  • 问好冒号表达式
    1>2? a:b
  • && 短路
    A && B && C
    取第一个假值或最后一个值
  • || 短路
    A || B || C
    取第一个真值或最后一个值

JS入门教程