js 作用域、 js 数组的方法、 js数组去重、 js 数组排序 、js 二维数组

1.作用域

  • 变量存在的范围。
  • 任何程序执行都需要占用内存。函数调用时也需要占用内存空间。

垃圾回收机制:

  • 当内存空间没有任何变量指向时,或者函数执行完毕后,它们占用的内存空间就会被释放,返还给系统。

全局变量:

  • 直接写在script标签中的变量,在页面的任意位置使用。在函数内可以使用全局变量。
  • 全局变量的内存空间,页面打开时创建,页面关闭时销毁。

局部变量:

  • 定义在函数内部的变量。这个变量只能在函数内部使用。形参也是局部边量。
  • 局部变量的内存空间,在函数调用的时候创建,函数执行完毕后销毁。

总结:

  • 全局变量可以在任意的函数内部使用。
  • 局部变量只能在当前的函数内部使用。
  • 当函数内使用一个变量时,它会现在自身的作用域(函数内部)寻找该变量,如果找到直接使用,如果没有找到则向上一级寻找,直到全局作用域。
  • 如果全局作用域也没找到,则报错。

    function fn() {
   
      var a = 10;
      console.log(a);
    }
    function fn2() {
   
      console.log(a);
    }
    fn = null;
    var i = 5;
    fn2();  //Uncaught ReferenceError: a is not defined
    console.log(a);  // Uncaught ReferenceError: a is not defined

    var a = 10;
    function fn(x) {
   
      var b = 20;
      function fn2() {
   
        console.log(b);  //20 
      }
      fn2();
      console.log(a);  //10
    }
    fn();

    // 全局变量与局部变量重名
    var a = 1;
    function fn() {
   
      var a = 10;
      function fn2() {
   
        var a = 100;
        console.log(a);  //100
      }
      fn2(1000);
      console.log(a);  //10
    }
    fn();

    var a = 123;
    function fn(a) {
   
      console.log(a);  //456
    }
    fn(456);
    console.log(a);  //123

2.数组的方法

concat(元素)

  • 功能: 合并数组。添加一些元素。
  • 参数:
  • 如果不是数组,则是将参数添加到数组的后面。
  • 如果是数组,则将数组中的所有元素一个一个添加到数组的后面。
  • 返回值:不会修改原数组,返回一个新数组

slice(start,end)

  • 功能:获取当前数组的指定区域的元素,含头不含尾
  • start:开始获取元素的索引
  • end:结束获取元素的索引。
  • 返回值:新数组。

splice() 重点

  • 功能:可对数组中的元素进行增删改;
  • 格式:数组名.splice(start,length,[数组1,数组2…])
  • start:开始截取的索引
  • length:截取的长度。
  • 从第三个参数开始:会在start位置的前面,插入新的元素。
  • 返回值:截取的数组,会修改原数组。
  • 删除:splice(start,length)
  • 修改:splice(start,修改的元素的长度,修改后的元素)
  • 新增:splice(新增位置的后面的索引,0,新增的元素)

join()

  • 格式:数组名.join(字符串)
  • 功能:将数组中的元素,用传入的字符串拼接。
  • 返回值:拼接好的字符串。

reverse()

  • 功能:反转数组,将数组的元素按照反向重新排列一次。
  • 格式:数组名.reverse();

sort()

  • 功能:对数组的元素进行排序。
  • 格式:数组名.sort();
  • 默认是按照编码的顺序排序的,如果需要对数值进行大小的比较,需要我们自定义规则
  • 书写格式:
    function(v1,v2){
       return v1-v2;
    };

indexof() 重点

  • 功能:在数组中查找元素,返回第一个找到的元素的下标。
  • 格式:数组.indexof(item,[start])
  • 参数:
  • item:要查找的元素
  • start:查找开始的下标。默认是0
  • 返回值:
  • 如果存在,返回第一个找到的下标、
  • 如果不存在,返回-1;

forEach

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值