zoukankan      html  css  js  c++  java
  • Object类型与Array类型

    总结--JS中的引用类型:

        Object类型,Array类型,Boolean类型,Number类型,String类型,Date类型,

        Function类型,RegExp类型,单体内置对象(Global对象,Math对象)

     

    1.Object类型:我们看到的大多数其他对象都可以称为是Object对象

      1)创建Object对象的方式有两种:
        第一种是使用new操作符后跟Object构造函数
          var person =new Object();   //var person ={};
          person.name="yufan";
          person.age=20;
        第二种是使用对象字面量表示法
          var person={
            name:'yufan',
            age:20
          };


       2)访问对象的属性也有两种方法:
          alert(person['name']);
          alert(person.name);

     

    2.Array类型:
      1)创建数组(Array对象)的基本方法有两种:
        --第一种是使用Array构造数组
          var arr=new Array('1',2,'32','ab');
        --第二种是使用数组字面量表示法
          var arr=['1',2,'32','ab'];


      2)数组的length属性,表示数组元素的个数
        对于length既可以获取,又可以设置
          var arr=[1,2,3,4,5,6]
          alert(arr.length);  //6
          arr.length=3;
          alert(arr);    //1,2,3

     3)检测数组:Array.isArray()==>确定某个值是不是数组
        --if(Array.isArray(value)){
            //对数组执行某些操作
        }
        注:支持Array.isArray()方法的浏览器有IE9+,Firefox 4+,Safari 5+,Opera 10.5+,Chrome


      数组的方法:
      4)转换方法:对于所有的对象都具有toLocaleString(),toString(),valueOf()方法
        数组调用toString()方法:调用了数组每一项的toString()方法,返回数组每一项以逗号分割的字符串
        数组调用valueOf方法:返回的还是数组对象的原始值
          var arr=[1,2,'abc'];
          alert(arr.toString());  //1,2,abc
          alert(arr.valueOf());   //1,2,abc
          alert(typeof(arr.toString()));  //string
          alert(typeof(arr.valueOf()));   //object
          alert(arr); //1,2,abc  alert要接收字符串参数,所以它会在后台调用toString()方法,结果与toString()方法相同
        数组调用toLocaleString()方法(把数组转换为本地字符串):返回与toString(),valueOf()方法相同的值
        但其调用的是数组每一项的toLocaleString()方法,返回数组每一项以逗号分割的字符串
          var arr=[1,2,'abc'];
          alert(arr.toLocaleString());  //1,2,abc
          var person1={
            toLocaleString:function(){
              return 'mike';
            },
            toString:function(){
              return 'nine';
            }
          };
          var person2={
            toLocaleString:function(){
              teturn 'hello';
            },
            toString:function(){
              return 'word';
            }
          };
          var people=[person1,person2];
          alert(people);  //nine,word
          alert(people.toString());   //nine,word
          alert(people.toLocaleString()); //mike,hello

     

     5)数组的join方法:
          --用分隔符,组合数组元素,生成字符串
           arr.join('-')    //1-2-3-4-5-6


      6)数组的添加:(栈方法)
          --arr.push(val)--往数组的末尾添加,返回新数组的长度
          --arr.unshift(val)--从数组的头部添加元素,返回新数组的长度


      7)数组的删除:()
          --arr.pop()--从数组的末尾删除,返回删除的项
          --arr.shift()--从数组的头部删除元素,返回删除的项


      8)数组的排序(sort):
          --arr.reverse()--颠倒数组中元素的顺序
          --字符串的排序:arr.sort()--sort()方法会调用每个数组项的toString方法,
            然后比较得到的字符串,因此不能对数字进行排序,但可以对字符串排序
              var arr=['zoom','banana','apple']
              arr.sort();  //apple,banana,zoom
          --数字的排序:sort()方法可以接受一个比较函数作为参数,进行数字的排序
            function compare(value1,value2){
              return value1-value2;
            }
            var arr=[5,1,24,12];
            arr.sort(compare);
            alert(arr);   //1,5,12,24


      9)数组的splice方法:删除元素/删除并向数组添加新元素,返回新数组
          1)删除:splice(起点,长度)--起点从0开始
            var arr=[1,2,3,4,5,6];
            arr.splice(2,3) //1,2,6
            arr.splice(2,0)    //没有删除,长度为零
          2)插入:splice(起点,长度,元素)
            var arr=[1,2,3,4,5,6];
            splice(2,0,'a','b') //1,2,a,b,3,4,5,6
            splice(2,2,'a','b') //1,2,a,b,5,6


      10)数组的连接(concat):谁在前面先写谁
            var a=[1,2,3]
            var b=[4,5,6]
            a.concat(b);  //1,2,3,4,5,6
            b.concat(a);  //4,5,6,1,2,3


      11)数组的slice方法:从某个已有的数组返回选定的元素,形成新数组,且对原来的数组没有影响
          当slice有一个参数时:从指定位置-->数组结尾
          当slice有两个参数时:从开始指定位置-->到结束指定位置
          var colors=['red','blue','yellow','black','write'];
          var colors1=colors.slice(1);  //'blue','yellow','black','write'
          var colors2=colors.slice(1,3);  //'blue','yellow','black'


      12)位置方法:indexOf()/lastindexOf()
          都接受两个参数:'要查找的项'和(可选的)'表示查找起点位置的索引'
          indexOf:从数组的开头(位置0)往后查找
          lastindexOf():从数组的末尾开始往前查找
          两个方法都返回要查找的项在数组中的位置,没有查找到则返回-1
          var arr=[1,2,5,7,5,9];
          alert(arr.indexOf(5));  //2
          alert(arr.lastindexOf(5)); //4
        注:支持浏览器为:IE9+,Firefox 3+,Opera 9.5+,Chrome

     

     

  • 相关阅读:
    第二章作业第2题--苏志华
    小学生四则运算应用软件(一)
    YOLO1至YOLOV3方法讲解
    C++ STL中的二分查找
    C++ 中的prioriy_queue 优先级队列 转
    C++ 中的容器(栈、堆、队列) 转
    从尾到头打印链表
    替换空格
    C++中vector<vector<int> >
    对称平方数
  • 原文地址:https://www.cnblogs.com/yufann/p/JS-Summary1.html
Copyright © 2011-2022 走看看