第一节:
常用运算符:
1.算术运算    +,-,* / ,%,++ ,--
2.赋值运算
= ,+=  ,-=  , *= , %=    //.toFixed(); 保留小数点位数
3.关系运算
>   <  >=   <=   ==   !=   ===  !==
4.逻辑运算
&&,||,!
5.三元运算
(判断条件) ?(为真):(false)
6.按位运算
&  , | , ~  ,<<,>>,>>>(不带符号的右移)
第二节 语句
条件语句 
if(判断条件:不全等比较){
}else{
}
多级的判断:
if(){
}else if(){
}else if(){
}else{
 
} 
对一般的赋值条件语句使用三元运算快捷方式 var a=a>b?b:a;
switch语句:
switch( 常量/变量/字符串/对象){
case   1:
  满足条件执行的语句;
  break;
 
  default:
  break;
}
1.全等对比(===)
2.小心穿透  break(合理利用合并一些选项)
3.default  (默认执行的语句)
js中可以使用任何数据类型(字符串.对象)case中可以是常量/变量/表达式 
switch的另一种用法:
switch(true){
case 表达式:
语句;
break;
case 表达式:
语句;
break;
default:
语句;
break; 
}
if和switch可以互换;switch执行效率高
 
for 循环:
 
for( var i=0;i<30;i++){
 
}
用来处理固定次数的循环,i的值可以为其他例:i+=5;
常常配合break(跳出整个循环)/continue(跳出本次循环){要用到if判断}
for语句的嵌套:(变量名不能重)
for( var i=0;i<30;i++){
      for( var j=20;j>0;j—){
}
}
for( var a in  b){
}用来处理字符串/数组/对象的属性/
 
while语句:(处理不定次数的循环)
while( 表达式){
     执行的语句
}
do{
}while( ); //判断条件后置,至少执行一次.在写游戏时常用到 
标识符:第一个字母是:字母 /_/ $的一种.以后的数字再加 数字.
变量的声明 var.
数据类型: typeof( );
undefined;未声明或声明了没有赋值
null:空对象
boolean: true/false
string:
number:
object:
数值的转换: Boolean( );
to-boolean: 0  NaN undefined null 空字符串为false;  (空对象{}为true)
to-number:
Number(); 
 true=1;false=0;
空字符串 /null/空数组/空对象=0
字符串中必须都为数字才能转换为数字,其他都为NaN.
parseInt(  数字, 进制); parseFloat( )  
空字符串 /空字符串/空数组/空对象=NaN;
字符串中开头含有数字才能转换为数字,其他情况都为NaN. 
 
字符串:用 ”"表示
常用的转义字符;\n 换行 \b空格 \r回车 \’ 单引号 \”双引号
\\加个\
转化为字符串(要求变量) toString(2/8/16)  括号为进制数;
1.字符串的长度
string.length
2.字符的大小写转化
str.toLowerCase(); /str.toUpperCase();
3.检索某一段字符;根据返回值判断(是否存在和位置编号)
 str.indexOf();( “”, 开始位);默认为0;       (从前往后查找)
str.lastIndexOf(“”,最后的位)默认为length-1(从后往前查找)
    4.截取字符串
str.substr();( 开始位, 长度)/str.substring( 开始位, 结束位).
 
数组:
var array=[ , , , , ];
var array=new Array();
长度: array.length
遍历: for/for-in
检索: indexOf/lastIndexOf
1.添加元素(从尾部)
     array.push(“ ”,” ”,” ”, 1, 2, 3, [ 2,43,”d"]);
返回数组的长度;
删除元素(从尾部)
array.pop();     取出删除的元素,长度减1
2.添加元素(从头部)
array.unshift(“ ”,” ”,” ”, 1, 2, 3, [ 2,43,”d”]);
返回新数组的长度;
删除元素(从尾部)
array.shift();取出数组中第一个成员,并把他从数组中删除
3.两个数组的拼接或添加新成员 原数组不变,返回值是新数组;
array.concat();( “ ”,” ”,[ ],array2)
4.删除数组中间的元素/在数组中间添加(替换)元素
array.splice();(  开始位置,删除元素个数 ,要添加的项目 , “”)如果省略删除个数从start开始删除如果省略项目只删除不添加.
5.数组组合为字符串(特殊符号连接)
     array.join(“$”); 返回为字符串
6.含特殊字符串分割为数组
     str.split();  返回一个新数组
7.数组字母的排序
     array.sort();
数组数字的排序
function sortNum(a,b){
 return a-b
}
array.sort(sortNum);//a<b(a在前面)
8.反向输出
     array.reverse( ); 
9.转化为字符串
array.toString(); 
 
array.map( function(a)); //处理a
接受一个函数,对数组中的每个对象都使用该方法,返回新数组.
用来格式化对象.处理数组内容;
array. filter(function(a));//判断a
接受一个函数,对数组中的每个对象做比较,根据返回的布尔值true保留false剔除;返回符合的数组;
用来根据属性值筛选对象
array.reduce(function(a,b));//处理a与b
返回新数组
array.sort(function(a,b))//比较a和b (a-b)从小到大排列.(b-a)大到小 
对象是无序数据集合有键值对.用{}定义/new Object();
属性之间用逗号隔开 对象名是个 指针;
对象的取值:   . 或[ ]   中括号内用引号隔开 字符型数据
.后面不能是字符串,属性名不加引号.也不能是数字.
var array={
0: “abd”,
1:”df”,
2:”fg”,
};   对象
var array=[“abd”,”df”,”fg”]; 数组
1.对象的引用是地址引用,其他数据类型为值引用.
var  obj1={};
var obj2=obj1;
给obj2设置新值取消引用.不影响其他变量
2.添加属性
obj.name=“”;特别注意数据类型.
3.删除属性:delete obj[“属性”];
4. “property" in obj;  in函数判断是否具有某个属性
5.for -in 遍历
5. 对象嵌套:对象属性值是函数.属性名就是函数名,可以通过属性名调用函数; 不加( )访问的是函数整体.
 
日期:(月份是从0开始的0-11)
var date=new Date( ); 获取日期函数
date.getFullYear( ); 年
date.getMonth( );月
date.getDate( );日
date.getDay();星期
date.getTime( );时间戳(1970-
date.getHours();时
date.getMinutes();分
date.getSeconds();秒
date.getMilliseconds();毫秒
 
设置时间:
date.setFullYear(year,month,date);
时间对比和相加都是化为毫秒载计算
new Date( 2016,9 ,1 ,3 , ,)设置新时间
获取本地时间字符串
var date=new Date();
date.toLocaleDateString( );
获取标准时间
var date=new Date();
date.toUTCString( );
  var  interval=   setInternal( 函数名,时间毫秒);
 clearInterval(interval);        (每隔多久调用一次)
  var  timeOut=  setTimeout(函数名,时间毫秒);
   clearTimeout(timeOut);        (延迟调用)