基本数据类型和引用数据类型的区别、排序、数组新增的几个方法、字符串

1、基本数据类型和引用数据类型的区别

  基本数据类型不能动态的添加属性和方法
  引用数据类型可以动态添加属性和方法

  基本数据类型操作的是值
  引用数据类型操作的是引用地址

2、数组排序
  1)冒泡排序 : 相邻的两个数比较,大数下沉,小数上浮
  2)选择排序: 每一轮用数组中的第n个数和后面的数依次比较,如果arr[n] 大于后面的数,就交换  n从下标为0开始 一直到 arr.length-1
  3)sort方法排序 :  按照字符编码的顺序进行排序 
    用法一 : 数组.sort()    对字符排序
    用法二 : 对数值排序
    数组.sort(function(a,b){
        return a-b;   升序        return b-a; 降序   
    })
  4)随机排序:Math.random()  [0,1)
3、数组新增的几个方法
  1)indexOf()  判断一个数在某个数组中是否存在,如果存在就返回这个数在数组中的位置(下标),如果不存在返回-1
  2)forEach()  遍历数组    没有返回值
    arr.forEach(function(item,index,ary){
         item  数组的每一项
         index  下标
         array  遍历的数组
    })
 
  3)map()  映射  遍历数组 ---  操作数组 ---  返回数组
    arr.map(function(item , index , ary){
       return 返回操作后的数组
  }) 
  4)filter  过滤  按照某个条件过滤,返回过滤后的新数组
    arr.filter(function(){
       return 条件;
  }) 
  5)reduce()   归并   返回值是 最后一次操作的结果
    arr.reduce(function(pre,next){
    // pre :  前一个操作返回的结果  第一个默认值为数组的第一个数
    // next : 下一个操作数   (数组中第一个数的下一个数 )
    })
4、扩展:
  1)some()  返回一个boolean,判断是否有元素符合func条件,如果有一个元素符合func条件,则循环会终止。
    var list = [6, 2, 3, 4, 5];
        var res = list.some(function(item,index,ary){
            return item > 3;
        })
  2)every() 返回一个boolean,判断每个元素是否符合func条件,有一个元素不满足func条件,则循环终止,返回false。
    var list = [6, 2, 3, 4, 5];
        var res = list.every(function(item,index,ary){
            console.log(1)
            return item > 1;
        })
5、字符串:
  JS内置对象也被称为内部类。所谓内部类,就是JavaScript里面封装好了的类。
  JavaScript中的内部类大致有:Array,Boolean,Date,Math,Number,String,RegExp.....
  可以分为两类:静态类和动态类
    静态类:不需要new,直接调用这个类的属性或方法即可,例如:Math    Math.pow()
    动态类:需要new,然后再调用对象的方法或者属性  var arr =  new Array(4,5,6);   arr.push()
 
  定义方式:
       var str = "hello";
       var str = new String("hello");
       length  获取字符个数    只能读   不能写
  字符串对象的操作方法
    1)charAt(index)     返回某个索引位置处的字符
    2)charCodeAt(index)   返回某个索引位置处的字符的ASCII码值
    3)String.fromCharCode(ASCII码值)   根据给定的ASCII值得到对应的字符  注意用法 :  String.
    4)indexOf()  查找某个字符在某个字符串中首次出现的位置  如果没找到,返回-1
    5)lastIndexOf()   查找某个字符在某个字符串中最后一次出现的位置
    6)substr(start,length) 从开始start位置处截取指定长度的字符
    7)substring(start,end)  从开始start位置处截取到结束end位置处的字符,但是结果不包括end处的字符 
    8)split()   将字符串通过某个字符分割成数组  ( 将字符串转成数组)
    9)join()   将数组转成字符串
    10)replace(原字符串,新字符串) 替换   返回替换后新字符串     默认替换一个字符串
    11)toLowerCase / toUpperCase 转小/大写字母  
    12)trim()   去掉字符串两端空白

原文地址:https://www.cnblogs.com/ginelle/p/10209313.html