变量(variable)
    变量声明 如 var a = 100;
    先声明再赋值 JS中声明变量的类型只有var(其类型天生是浮点型) 不像Java中的那些int float
    若想为字符串类型 则在声明时加 单引号或双引号 即可 不过JS中最好使用单引号
    对于未声明的变量直接使用会报错
    赋值的顺序自右向左 如 var a = b = 10; //先把值赋给b
    单一var模式
    如 var a ,
    b ,
    c ;
    变量命名规则
    1 需以 英文字母 $ 开头
    2 可以包括 英文字母
    $ 开头 数字
    3 不可以用系统的关键字、保留字作为变量名
    image.png
    js语句基本规则
    语句后面要用分号结束;
    js语法错误会引发后续代码终止 但不会影响其它js代码块
    错误分两种:
    1 低级错误(语法解析错误)
    在执行解释语言之前 系统会先通篇扫描一遍看是否有低级错误
    如果有 当前块的程序一行都不会执行 比如 var num = 1:
    2 逻辑错误(标准错误 情有可原)
    程序会执行到逻辑出错的那行代码前 之后的都不会执行
    如 document.write(num); //num没定义直接用
    书写格式要规范 = + / - 两边都应该有空格
    值类型
    js中是由值来决定类型(数据类型)
    1 不可改变的原始值(栈数据 stack)
    原始值是不能有属性和方法的
    number,string,boolean,undefined,null
    对于string类型的底层是数组 可以有str.length;
    也可以通过 str[i] 或 str.charAt(i) 取出里面第i-1位的字符
    2 引用值(堆数据 heap)
    Array, Object, function …
    2.1 var arr = [1,2,false,”abc”]; //数组里面放什么都行
    arr.push(3); //可以往数组里加东西
    运算操作符
    运算自左向右
    1 + 有两种含义
    1.1 数学运算、字符串链接

    1.2 任何数据类型加字符串都等于字符串
    如 var a = 1+”a”+1+1; //结果为1a11
    var a = 1+1+”a”+1; //结果为2a1
    2 - / % = ()
    优先级”=“最弱,”()”优先级较高
    注意: 1 / 0 Infintity 0 / 0 NaN
    3 ++ - - += -= /=
    = %=
    注意a++ 与 ++a的区别
    3.1 a++ 是先运行完执行语句后 最后才++
    如 a = 1; b = a++ +1; document.write(b);
    //得到的b的值为2 先执行赋值操作 赋值完后再a++
    3.2 ++a 是先加加 然后才执行语句
    如 a = 1; b = a— + —a; document.write(b);
    //得到的b的值为0 先a—得到1 再1+ —a 其中—a为-1 所以最后1+-1 = 0
    a = 1; b = ++a +1; document.write(b);
    //得到的b的值为3 先++a 再执行赋值操作
    比较运算符
    > < == >= <= !=
    比较结果为boolean值
    >可以比较字符串 比较的是字符在asc码中的先后顺序
    比如 “a”>”b”结果为true 因为a排在b前面
    “10”>”8”结果为false 注意比较的是字符的先后顺序
    先比较1和8的先后顺序 1在8前 返回false 所以后面的就不用比了
    逻辑运算符
    “&&”,“||”,“!”
    运算结果为真实的值
    && 先将第一个表达式转换为布尔类型的值 如果是真 则继续下一个表达式
    直到找到表达式对应的布尔类型的值为假 或 运算到结尾值都为真时 输出当前的值
    如 a = 1 && false —-> a为false
    a = 0 && 1 —-> a为0
    a = 1 && 2 && 4 —-> a为4
    || 与 && 类似 找到表达式对应的布尔类型的值为真 或 运算值都为假时 输出当前的值
    如 a = 1 || false —-> a为1
    a = false || 0 —-> a为0
    a = 0 || 1 || false —-> a为1
    被认定为false的值
    undefined, null, NaN, “” , 0, false
    逗号运算符
    var a = (2,3);
    可以允许这样赋值 这里一定要加括号 a的值为3
    赋值赋的是括号中最后一个逗号后面的表达式计算后的结果
    注意()中的任何东西都会变为表达式**