伊人怎会持宠而骄
希望有人懂你的低头不语、小心翼翼守护你的孩子气
1、梳理知识点
1、运算符和表达式  
算术    %    ++    --     
关系   ==  ===   >=  !=    !==   <=   ...
逻辑   &&  ||   !      
条件    ?   :    判断
赋值   =    +=  -= 
2、类型转换  
    "888"   自动转数值
    强制   parseInt()   parseFloat()   Number("333wsws")  Boolean()  toString()  
3、短路   true||   false && 
4、三大结构  顺序  选择 循环
5、选择结构控制语句
    if(){  }else{  }
    if()else if(){}...else{}
    switch(  ){  }   
6、循环
    for  while  dowhile  for..in
7、函数 
    函数定义  function
    函数参数  形参    实参
    实参副本  arguments
    变量的作用域
        全局变量          
        局部变量  
    函数递归调用 :  自己调用自己
    函数和事件关系 
        事件应用
        事件三要素 :  事件源.事件 = 事件处理程序
    
2、对象
对象定义 : 对象是一个整体  用来描述一个事物的多个信息   可以将这样多个信息的组合就称为一个对象
var obj = {
    键 : 值 ,
    键 : 值 ,
    ...
}
值可以是任意类型 
 
所有的对象都具有 属性 和  方法  
如何调用属性和方法 :对象.属性    对象.方法    方法一定有括号
如果定义对象时,键对应的值是一个函数,这个键 就是 方法的名称
 
3、构造函数 
使用new 关键字 创建对象的函数 就是构造函数
var num = new Number();
 
4、内置对象(构造函数)
Array数组对象   String字符串对象   Date时间对象  Math数学对象   RegExp正则
 
5、内置对象 之  Array对象   数组
将没有规律的数 存放到一个容器中  操作容器 ,这样的容器就称为 数组  数组也是对象
数组定义 : 
var arr = [23,56,78,90];
var arr = new Array(45,679,8);   
var arr = new Array(8);   如果括号中只有一个数值类型的数据,该数值表示 数组的长度 (长度是整数)
数组长度属性 :length
数组中值的操作(存  取) : 数组名[下标]  下标从0开始  最大下标 :数组length-1 
数组的长度不固定
数组定义后 没有给值,下标对应的值默认就是undefined
 
6、数组遍历(遍历---循环)
for 或 for  ... in
for .. in 遍历语法格式 : 
for( var 变量 in  对象 ){
    
for...in 特点 : 
没有循环条件
自动取出下标  从0开始 到arr.length-1 自动结束
下标类型 string
for...in 只能遍历对象
 
7、二维数组 (了解)
由行和列组成 
定义一个数组 : 
arr = [ [1,2],[3,5],[45,34],[6,7] ]
 
操作二维数组存和取 : arr[行下标][列下标]
 
8、数组的操作方法
尾部操作:
push() 向数组尾部添加一个或多个数  长度会随之改变,括号中有参数
pop()  删除数组尾部一个元素   没有参数
 
头部操作 :
unshift()  向数组头部添加一个或多个数 长度会随之改变,括号中有参数
shift()    删除数组头部元素  没有参数
 
splice() 
    splice( start )  表示删除从start位置开始的数据 ,删除到数组结尾
    splice( start , length )  表示删除从start位置开始的数据,到指定位置结束
    splice( start,length , num1,num2 ) 第三个参数个数不固定
        当length值为1 表示替换
        当length值为0 表示添加
 
 sort() :数组排序方法  改变原数组  默认是升序排序  默认是按 字符 排序  
     function fnSort(){ 
          var arr = ["a","f","afs","df","w","u"];
          var arr = [100,34,78,234,789,1000];
          // arr.sort(); 没有参数按 字符 来排序
          arr.sort( function(x,y){
              //return x-y>0;
               return x-y<0;
          } )
          alert( arr );
     }
     fnSort();
如果按数值排序 : 
    arr.sort( function( x,y ){
        return x-y>0;  升序排序    return x-y < 0 降序排序
    } )
 
reverse() 翻转数组 (改变原数组)
 
上面6个方法都会改变原数组 
 
下面这些方法 不会改变原数组   明白这些方法的返回值 
concat()  数组的合并    arr.concat( brr )
join()   将数组转成 字符串  
 
9、栈 和 堆
栈 : 
    特点 : 有底无顶  先进后出
    定义一个变量时,会在内存中开辟一块存储空间,这个空间用来存放某些变量的值 这个空间就叫做 栈  这个栈空间 一般存 基本类型数据 (一个值)
堆 : 
    堆中 存放的是 引用类型变量的值  (可以存储多个值)
    堆中的值对应的变量   一改全改     
函数参数传递方式 : 
值传递 :单向传递
地址传递 : 双向传递 (一改全改)
posted on 2019-01-22 09:38  伊人怎会持宠而骄  阅读(157)  评论(0编辑  收藏  举报