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

     

     

  • 相关阅读:
    Android AHandle AMessage
    android java 与C 通过 JNI双向通信
    android 系统给应用的jar
    UE4 unreliable 同步问题
    UE4 difference between servertravel and openlevel(多人游戏的关卡切换)
    UE4 Run On owing Client解析(RPC测试)
    UE4 TSubclassOf VS Native Pointer
    UE4 内容示例网络同步Learn
    UE4 多人FPS VR游戏制作笔记
    UE4 分层材质 Layerd Materials
  • 原文地址:https://www.cnblogs.com/yufann/p/JS-Summary1.html
Copyright © 2011-2022 走看看