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确实代表了同一个数组。

转载于:https://www.cnblogs.com/yangxiaoguai132/p/5261073.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值