JS对象/数组/识别对象数组

一、对象:

  1.对象创建:

    (1) var obj={};

    (2) var obj= new Object();  obj.name="Wang",obj.age=12

    (3) Object.create({});

  2.对象访问:

    (1) obj.a;

    (2) obj[a];  //a可以是相同的字符串,和数组;

  3.对象方法:

    (1) obj.hasOwnPrototype("prop");    判断对象是否为自身,返回true;如为继承属性,false;

    (2) obj instanceof object;    实例obj在不在Object构造函数中true/false;

二、数组:

  1.数组创建:

    (1) var arr=[];

    (2) var arr=new Array(1,2,3);

    注:var arr=new Array(10);    //10表示长度;

      var arr=[10.2];    //10.2表示第一位;

  2.数组方法:

    1.改变原来数组:

      (1) .push(); 加入到数组最后。

      (2) .pop(); 删除数组最后一位,无法传传参。

      (3) .unshift(); 加入到数组最前面。

      (4) .shift(); 删除数组最前面。

      (5) .reverse(); 逆反数组。

      (6) .splice(从第几位开始,截取多少长度,在切口处插入的数)

      (7) .sort(); 排序

        注:1.必须写两形参;

                  2.看返回值:1) return<0; a,b

                  2) return>0; b,a

                    3) return=0; 不动

          例:

            .sort(function (a,b) {

              return;

            });

    2.不改变原来数组:

      (1) .concat(); 拼接数组

      (2) .slice(从该为开始截取,截取到该位)

      (3) .toString();

      (4) .join(" ");    连接数组内所有值,引号内为连接符号;

      (5) .split(" ");    分割数组或者变量值,引号内为分割符号;

  3.遍历数组:forEach();

    用法:array.forEach(function(currentValue, index, arr) { }, thisValue)

    (1) currentValue:必需。当前元素

    (2) index:可选。当前元素的索引值。

    (3) arr可选。当前元素所属的数组对象。

    (4) thisValue可选。传递给函数的值一般用 "this"

      如果这个参数为空, "undefined" 会传递给 "this"

      注:不能遍历伪数组(类数组);

  4.遍历数组:map();

    用法:array.forEach(function(currentValue, index, arr) { }, thisValue)

    (1) currentValue:必需。当前元素

    (2) index:可选。当前元素的索引值。

    (3) arr可选。当前元素所属的数组对象。

    (4) thisValue可选。传递给函数的值一般用 "this" 值

    如果这个参数为空, "undefined" 会传递给 "this" 值

    注:不能遍历伪数组(类数组);

 

  5.类数组:

    //属性要为索引(数字)属性;

    //必须有length属性,最好加上push;

    var obj={

      "0":"a",

      "1":"b",

      "2":"c",

      "length":3,

      "push":Array.prototype.push,

      "splice".Array.prototype.splice

    }

三、识别数组[]和对象{}

  (1) obj.constructor:

    var a=[];

    var b={};

    a.constructor;    //Array()

    b.constructor;    //Object()

  (2) obj instanceof object:

    var a=[];

    var b={};

    a instanceof Array;    //true

    b instanceof Array;    //false

  (3) Object.prototype.toString.call( [] );    //"[object Array]"

        Object.prototype.toString.call( {} );    //"[object Object]"

posted @ 2019-06-24 20:22  开拖拉机的拉风少年  阅读(636)  评论(0编辑  收藏  举报