zoukankan      html  css  js  c++  java
  • js数组中的reverse()方法

    reverse方法是将数组中的元素的顺序进行反转,在原数组上操作,然后返回原数组。由于本人是学习js的新人,对reverse函数进行了几个小实验,以下实验均在Chrome浏览器上运行

    实验一:reverse方法能否用于undefined与null上

    实验代码如下:

     1 <script type="text/javascript">
     2          var foo=function  () {
     3             var c=null;
     4             var d=undefined;
     5             //reverse方法测试代码
     6             console.log(c.reverse());//报错
     7             console.log(d.reverse());//报错
     8          }
     9          foo();
    10 </script>

    如果将代码改成如下所示:

     1 <script type="text/javascript">
     2          var foo=function  () {
     3             var c=[null];
     4             var d=[undefined];
     5             //reverse方法测试代码
     6             console.log(c.reverse());//[null]
     7             console.log(d.reverse());[undefined]
     8          }
     9          foo();
    10 </script>

    结论:reverse方法不能再null与undefined上运行

    实验二:空数组上运行reverse方法得出什么样的结果

    实验代码如下:

    1 var e=[];
    2 console.log(e.reverse());//[]

    结论:输出空数组

    实验三:reverse方法返回数组本身相关实验

    实验代码如下:

     1 <script type="text/javascript">
     2          var foo=function  () {
     3             var b=[false,undefined,null];
     4             //reverse方法测试代码
     5             var b_reverse_result=b.reverse();
     6             console.log(b);//[null,undefined,false]
     7             console.log(b_reverse_result);//[null,undefined,false]
     8          }
     9          foo();
    10 </script>

    结果分析:由于b数组执行reverse方法之后返回的是b数组元素反转之后的顺序,而b_reverse_result与b指向是同一个数组,所以二者输出结果都是b数组反转之后的结果。

    实验代码如下:

     1 <script type="text/javascript">
     2          var foo=function  () {
     3             var b=[false,undefined,null];
     4             //reverse方法测试代码
     5             console.log(b.reverse());//[null, undefined, false]
     6             var b_reverse_result=b.reverse();
     7             console.log(b_reverse_result);//[false, undefined, null]
     8             console.log(b);//[false,undefined,null]
     9          }
    10          foo();
    11 </script>

     结论:reverse方法在数组自身上操作,而且b与b_reverse_result确实代表了同一个数组。

  • 相关阅读:
    装饰器的进阶
    Django admin组件应用
    AJAX
    Cookie、Session和自定义分页
    Django中ORM介绍和字段及字段参数
    Django 框架
    Django之视图
    Django之路由系统
    Django ORM相关操作
    Django 模板语言
  • 原文地址:https://www.cnblogs.com/yangxiaoguai132/p/5261073.html
Copyright © 2011-2022 走看看