对象、数组

创建对象的方式

  1. 使用new 关键字
<title>object创建对象</title>
    <script type="text/javascript">

        var a = new Object();//创建一个对象a
        a.name = "小明";
        a.age = 23 ; //给对象的属性赋值 

        alert(a.name+a.age);
    </script>
  1. 省略new 关键字创建对象

    //省略new 关键字创建对象
    var box1 = Object();
    alert(box1);
  2. 字面量创建对象,json格式

    //使用字面量创建对象
    var box2 = {
    'name':'小明'
    }
    alert(box2);
    alert(box2.name);
  3. 给对象添加属性和 方法
// function add(){// 创建了一个方法
        //  return 123;
        // }
        // var box = new Object();//创建一个对象box
        // box.name = "小明";//创建对象的属性并初始化
        // box.f = add;//把方法赋给对象的成员
        // alert(box.f);//不加括号,打印出来的是方法
        // alert(box.f())//加括号打印出来的是,方法执行的结果
  1. 对象中的方法

    • 转换方法

      var arr = [3,"小明",true,new Object()];
          console.log(arr);
          console.log(arr.toString());
          console.log(arr.toLocaleString());
          console.log(arr.valueOf());
    • 对象和数组中多有toLocaleString()、toString()、valueOf()方法,其中toString()和valueOf()无论重写了谁都会返回相同的值。

    • 默认情况下打印数组,数组元素间使用逗号隔开的,可以使用join()方法,使用指定的字符来分隔数组元素。

      alert(arr.join("$"));
    • 栈方法
      var arr = [3,"小明",true];
          alert(arr.push(33,"小花"));//返回数组的长度
      
          alert(arr.pop());//移除  小花  

    ECMAscript数组提供了一种让数组的行为类似于其他数据结构的方法,也就是说可以让数组像栈一样,可以限制插入和删除项的数据结构,栈是一种数据结构(后进先出),也就是说,最新添加的元素最早被移出,而栈中元素的插入和移除只发生在栈的顶部,

    • push() 方法

      这个方法可以接受任意数量的参数,并且把它们添加到数组的末尾,返回数组的长度

    • pop()

      这个方法用来移除数组最后的一个元素 ,并且 放回移除的元素。

    • 队列方法

    队列方法就是先进先出,从数组的末端 添加元素,从数组 的前端移除元素,通过push()向末端添加元素,通过shift() 移除前端元素。

    • shift()

    移除数组开头的元素,并且返回移除的元素

    • unshift()

    和shift()的功能完全相反,这个函数的含义是,在数组前端添加一个元素 ,并且放回数组的长度

    • 排序方法
    • reverse() 逆序排列,返回数组,注意这里元素数组改变了
    • sort() 升序排列,返回数组,这里的排序默认是使用的字符穿的字典顺序。如果想要自定义一排序规则,可以自定义一个比较器

      • 自定义函数比较器,进行排序

            //自定义比较器及逆行排序
            var arr = [3,3,3,2,3,33,3,32233,34,,344,9,1,434,98];
            alert(arr.sort(
        
                function(a,b){
                    return a - b;
                    }
        
        
            ));
      • 这里定义的函数比较器:如果返回值是0,那么表示两个参数相等
      • 通过设置两个参数的相减顺序,设置数组的排序规则,升序还降序等等。
    • 操作方法

    • concat()基于当前的数组创建一个新的数组

      var arr = [3,"开发工程工程师","程序员",true];
      var n = arr.concat("还差的很远"); //在arr数组的基础上添加一个元素,常见一个新的数组
      alert(arr);//打印原来的数组
      alert(n);//打印新的数组
    • slice() 方法可以基于当前数组获取指定区域元素并创建一个新数组,

      var arr = [3,"开发工程工程师","程序员",true,43,23,4322];
      var n = arr.slice(1,5);//获取arr数组的索引[1-5)左开右闭的元素,生成一个新的数组
      alert(arr);
      alert(n);
    • splice() 主要用途是想数组的中部插入元素
      • 删除元素

        arr.splice(1,1);//删除索引是1的 元素
      • 删除并且插入

        arr.splice(1,1,"niaho");//删除原来的数组的索引是1的元素,并且插入 nihao
      • 不删除并且插入

        arr.splice(1,0,"niaho");//不删除原来的数组的索引是1的元素,并且插入 nihao

使用构造器创建对象

  • 自定义构造器
    • 格式:function Demo(首字母大写){ }

      function A(){
      // 构造器内部定义属性和方法
      this.name = '小明';
      this.age = 32;
      this.sex = true;
      this.eat = function(){
      alert('吃饭');
      }
      }
  • 创建对象

    • 格式:var a = new Demo();
    • 添加属性和方法:

          function c(){
      alert('方法');
      }
      function A(){
      
      this.name = '小明';
      this.age = 32;
      this.sex = true;
      this.eat = function(){
          alert('吃饭');
          }   
      }
      var b = new A();//创建对象
      b.height = 1000;//定义属性
      b.run = function(){//定义成员方法
      alert('跑什么');
      }
      b.ha = c;//定义成员方法

数组(Array)

  • javascript 数组中的每个元素可以是任意类型,
  • 数组的长度也是可以调整的

==数组可以传入多种类型的体现:==


var arr = [
            new Object(),
            "你好",
            234,
            [2,3,"小明",new Object],
        ];
        alert(arr.length);//获取 数组的长度 
        alert(arr);//输出数组
        alert(arr[3]);//访问arr内部的数组 
        alert(arr[3][2]);//访问内部数组的某一元素
  • 创建数组

    • 使用new 关键字
    • 注意:

      • 创建出来的数组是无穷大的
        “`
        Array

        var a = new Array();//创建了 一个数组,它的容量是无限的 a[0] = "小明"; a[1] = "小王"; a[2] = "小花";//给元素赋值 alert(a[1]);
        ```
        
      • 创建数组预定义给他三个元素

        var arr = new Array(2,3,"xia");
        alert(arr);
      • 如果创建数组是只是写了一个数字,代表数组的容量是这个数

        var arr = new Array(10);//如果只写一个数字,代表这个数组的容量是10
    • 省略new关键字的方式

      var arr = Array();
    • 使用字面量的方式创建数组,这里传入一个数字代表队是元素,不是长度

      var arr = [];
          arr[0] = 3;
          arr[1] = 4;
          alert(arr);
      
          ------
          创建数组并且分配值
              var arr = ["xiao","dfs",23];
  • 数组的遍历

    console.log(a.length);//数组的长度
    for(var i = 0;i < a.length; i++){//数组的遍历
    console.log(a[i]);
    }
  • 数组的属性:
    • length 获取数组的长度
  • 数组中常用的方法

    • concat(item) 将参数内的元素,或者数组中的元素进行拼接,并且返回一个新的数组
      • 比如:

        function ConcatArrayDemo(){ var a, b, c, d; a = new Array(1,2,3);
        b = "JScript"; c = new Array(42, "VBScript); d = a.concat(b, c);
        // 返回数组 [1, 2, 3, "JScript", 42, "VBScript"] return(d);}
    • pop() 溢出数组中的最后一个元素,并且返回这个数组
    • push(item) 将一个新的元素,添加进数组中区,并且放回数组的长度
    • reverse() 将数组的元素颠倒, 返回值也还是一个数组
    • sort() 升序排列,返回数组,这里的排序默认是使用的字符串的字典顺序。如果想要自定义排序规则,可以自定义一个比较器

      • 自定义函数比较器,进行排序

            //自定义比较器及逆行排序
            var arr = [3,3,3,2,3,33,3,32233,34,,344,9,1,434,98];
            alert(arr.sort(
        
                function(a,b){
                    return a - b;
                    }
        
        
            ));
    • join(item) 见数组中的元素用指定的分隔符分开
      • 如果数组中有元素没有定义或者是null那么作为空字符串来处理

        function JoinDemo(){ var a, b; a = new Array(0,1,2,3,4); b = a.join("-");
        return(b);}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值