- 语法特点
        1.字母大小写敏感
         2.定义的字符串要用单双引号引起来
         3.每一条语句要以分号结尾
- 命名规范
        1.要以字母开头
         2.多个单词要以驼峰命名法,例如:fontSize 
         3.包含字母、数字,_,$
- 注释
//单行注释
/*多行注释*/
- 写作
        写在<script>标签里,js可以放在任何地方,最好放在body下面
对话框
         1.alert()提示框
         2.confirm()询问框
         3.prompt()输入框
定义变量
         var 弱类型
         var a=12;  var b="acd"; var c=true
数据类型
         基本数据类型:数字(number),字符串(string),布尔(boolean),null,undefined
        null: 对象(引用型变量)空
         undefinded: 标量 空
数据类型: 数字(number),字符串(string),布尔(boolean),null,undefined, 对象(Object)
        typeof验证类型
                 数字(number),字符串(string),布尔(boolean),null,对象(Object),function
        为什么typeof验证null是Object?
            在计算机里存储的都是二进制,例如:000表示对象,001表示整数,010表示浮点数
            100表示字符串,110表示布尔,null则全是0
            所以,type验证前三位是0的,则表示为对象,没有读取null后面的剩余值。
         过程:
            000 表示对象,1111 1000  ,   0001 0000
            001 表示整数,
            010 表示浮点数
            100 表示字符串,
            110 表示布尔,
                                        null则全是0  8个0 0000 0000
运算符
        基本运算符
                 +加     -减     *乘     /除     %取余
        赋值运算符
                 =     +=     -=     *=     /=     %=      ++加1     --减1
                 a=a+b => a+=b
                 写作简单,可以直接转化数字类型,计算机速度快
                前++和后++区别
                 ++i    前++先自身加1,后参与其他运算; i++后++先参与其他运算,后自身加1
        比较运算符
                 ==  ===  !=  !==  <  >  >=  <=
                 ==比较值是否相同,===比较类型是否相同(先看类型后看值)    
         逻辑运算符
                 &&并且  ||或者  !非
     布尔操作符的运算方式
         逻辑非
             如果操作是一个对象,返回false
             如果操作是一个空字符串,返回true
             如果操作是一个非空字符串,返回false
             如果操作是一个数字0,返回true
             如果操作是一个非0数字(包括Infinity),返回false
             如果操作是一个null,返回true
              如果操作是一个undefined,返回true
             如果操作是一个NaN,返回true    
         逻辑与
             如果第一个操作是一个对象,返回第二个操作数
             如果第二个操作是一个对象,只有第一个操作结构为true情况下,才返回对象
             如果前后都是对象,则返回第二个对象
             如果第一个操作是null,则返回null
             如果第一个操作是undefined,则返回undefined
               如果第一个操作是NaN,则返回NaN            
         逻辑或
            如果第一个操作是一个对象,返回第一个操作数
            只有第一个操作结构为false情况下,才返回第二个
            如果前后都是对象,则返回第一个对象
            如果前后都是null,则返回null
            如果前后都是undefined,则返回undefined
            如果前后都是NaN,则返回NaN










