JavaScript知识点总结-4

来源:互联网 发布:苹果看视频软件 编辑:程序博客网 时间:2024/04/28 05:04
js中方法也是一个对象!方法名就是指向方法对象的变量名!
arr.sort(compare);注意!将方法作为对象传递时,仅使用方法名,后不加圆括号。
栈和队列:
  什么是栈?后进的先出!(LIFO)
    栈其实就是数组,只不过用一对儿方法模拟了栈的操作!
    结尾入栈出栈:元素下标始终不变,最后一个元素始终最新
      入栈:arr.push(值1,...),
      出栈:var last=arr.pop();
    开头入栈出栈:所有元素下标随入栈出栈操作而变化,第一个元素[0],始终最新
      入栈:arr.unshift(值1,....)
      出栈:var first=arr.shift()
  队列:FIFO
    入队列:arr.push(值1,...)
    出队列:var first=arr.shift()

原始类型:数据保存在变量本地
引用类型:数据不保存在变量本地!保存在“堆”中。由地址指向实际数据
  引用类型特点:可以保存多个数据,而且数据个数随时可变
包装类型:专门封装原始类型的数据,并提供数据常用操作的内置类型。
  让原始类型的数据也可以像引用类型一样,拥有方法和属性。
  string number boolean

  var num=5.678;//原始类型
  //num=new Number(num);//包装类型
  console.log(num.toFixed(2));
  //num=null;//释放包装类型对象!

  创建字符串: 
      1. var str="...";//原始类型
      2. var str=String("...");//原始类型,类型转换
      3. var strObj=new String("...");//包装类型对象
  转义字符: 代替字符串中的非打印字符:\n   \t
            如果字符串内容中包含和语法冲突的特殊字符,可用\转为普通字符

*字符串内容一旦创建,不可改变*
  如果修改,都要创建新字符串,保存新结果,替换旧字符串
  所有字符串API,都需要变量接收返回值!

str.length:返回str字符串中的字符个数
大小写转换:都转小写:str=str.toLowerCase()
            都转大写:str=str.toUpperCase()
  字符串类型底层其实都是用字符数组实现的。
获取指定位置字符:
  var char=str.charAt(index);
         在index位置的char
  获取指定位置字符的unicode编号:
  var num=str.charCodeAt(index);
字符串三大操作:
  1.查找关键字 2.替换关键字 3.获取子字符串
  查找关键字:
    var index=str.indexOf("关键字");
        返回关键字所在位置!*如果没找到,返回-1!*
      indexOf:
        懒:只找第一个关键字位置!
        蠢:默认只能从位置0开始!
    var index=str.indexOf("关键字",from);
      from:开始查找的位置,从from开始向后查找
      从最后一个字符,向前找:只要关键字离结尾近,就用last
    var index=str.lastIndexOf("关键字",from);
      from:开始查找的位置,从from开始向前查找
      *返回的index完全相同!字符在数组中的下标是固定的!*
  获取子字符串:
    var subStr=str.slice(start,end+1)
    str.substring(start,end+1)  用法同slice!
      唯一差别:不支持负值作为参数!
    str.substr(start,*count*)
    以上三个方法省略第二个参数,默认都是取到结尾!
  按规律分割字符串:var subs=str.split("分隔符"[,count])

  String类型中,提供了专门支持模式匹配的API!
    按模式*替换*关键字:str=str.replace(reg,"新值");
      默认replace仅替换第一个关键字!
      要想全局替换,要在模式中定义“g”
    获得*所有*关键字的*内容*:
      var kwords=str.match(reg);
      只能取得关键字的内容,无法确定每个关键字的位置!
    kwords.length:
      找到的关键字个数!
      *如果未找到,返回null!*
      只要有可能返回null!都要先判断!=null,再处理!

    var index=str.search(reg)和indexOf完全相同!
      indexOf不支持模式查找!search其实是indexOf的模式查找版
















0 0