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

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

实验代码如下:

 <script type="text/javascript">
var foo=function () {
var c=null;
var d=undefined;
//reverse方法测试代码
console.log(c.reverse());//报错
console.log(d.reverse());//报错
}
foo();
</script>

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

 <script type="text/javascript">
var foo=function () {
var c=[null];
var d=[undefined];
//reverse方法测试代码
console.log(c.reverse());//[null]
console.log(d.reverse());[undefined]
}
foo();
</script>

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

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

实验代码如下:

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

结论:输出空数组

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

实验代码如下:

 <script type="text/javascript">
var foo=function () {
var b=[false,undefined,null];
//reverse方法测试代码
var b_reverse_result=b.reverse();
console.log(b);//[null,undefined,false]
console.log(b_reverse_result);//[null,undefined,false]
}
foo();
</script>

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

实验代码如下:

 <script type="text/javascript">
var foo=function () {
var b=[false,undefined,null];
//reverse方法测试代码
console.log(b.reverse());//[null, undefined, false]
var b_reverse_result=b.reverse();
console.log(b_reverse_result);//[false, undefined, null]
console.log(b);//[false,undefined,null]
}
foo();
</script>

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

js数组中的reverse()方法的更多相关文章

  1. 简单谈谈JS数组中的indexOf方法

    前言 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别常用,正则不熟练同学的利器.这篇文章就最近遇到的一个问题,用实例再说说说indexOf方法.本文是小知识点积累,不作为深入 ...

  2. JS数组中的indexOf方法

    前言 这两天在家中帮朋友做项目,项目中使用了数组的indexOf 方法,找到了一篇文章,感觉非常不错,顺便整理下以防链接丢失. 相信说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别 ...

  3. JS数组中Array.of()方法的使用

    Array.of()方法的使用: Array.of()方法用于将一组数值转换为数组,举例: const a = Array.of(2,4,6,8); console.log(a); // [2,4,6 ...

  4. js 数组常用的一些方法

    数组可以说是js经常会遇到的数据结构,以下我们对数组进行详细的学习! 一.数组的创建 var mycars = new Array(): || new Array(3);  || new Array( ...

  5. Js数组的常用的方法概述

    学习JS的同学们,也曾对数组进行学习掌握,所以我也把数组中常用的方法列举下来,相互学习 不多废话,直接上正文 .                 快乐的分割线... 一.对象继承的方法 数组是一种特殊 ...

  6. js数组去重五种方法

    今天来聊一聊JS数组去重的一些方法,包括一些网上看到的和自己总结的,总共5种方法(ES5). 第一种:遍历数组法 这种方法最简单最直观,也最容易理解,代码如下: var arr = [2, 8, 5, ...

  7. 大数据学习day13------第三阶段----scala01-----函数式编程。scala以及IDEA的安装,变量的定义,条件表达式,for循环(守卫模式,推导式,可变参数以及三种遍历方式),方法定义,数组以及集合(可变和非可变),数组中常用的方法

    具体见第三阶段scala-day01中的文档(scala编程基础---基础语法)  1. 函数式编程(https://www.cnblogs.com/wchukai/p/5651185.html): ...

  8. PHP删除数组中空值的方法介绍

    这篇文章主要介绍了PHP删除数组中空值的方法介绍,需要的朋友可以参考下 说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下: ...

  9. thinkphp在前端页面的js代码中可以使用 U方法吗? 可以使用模板变量如__URL__等吗?

    thinkphp在前端页面的js代码中可以使用 U方法吗? : 可以的! tp的U方法, 是"全局的", 什么是全局的? 就是, 可以在 "任何地方"使用的: ...

随机推荐

  1. activiti基础--0------------------------------生成23张表

    1.工作流activiti.cfg.xml配置文件 <beans xmlns="http://www.springframework.org/schema/beans" xm ...

  2. PHP数据库链接类(PDO+Access)实例分享

    这篇文章主要介绍了PHP数据库链接类(PDO+Access),有需要的朋友可以参考一下 PHP PDO Access链接 复制代码代码如下: class DbHelpClass     {       ...

  3. ubuntu导入torch模块报错

    ubuntu下导入torch报错 >>> import torchIllegal instruction (core dumped) 安装pytorch 去pytorch官网下载py ...

  4. ubuntu sudo-update出错Encountered a section with no Package: header

    Reading package lists... Error! E: Encountered a section with no Package: header E: Problem with Mer ...

  5. 用cocos2d-html5做的消除类游戏《英雄爱消除》(1)——系统主菜单

    系统主菜单如下图所示: 首先,介绍下这个主菜单,它包含了一个动画logo以及一个按钮选项,动画logo每隔1秒钟切换一张图片,点击相应的按钮选项会切换不同的游戏场景. 下面看下这个界面的源码: /** ...

  6. flex 坐标系

    全局坐标(舞台坐标)  本地坐标 内容坐标系  地图坐标(MapPoint) flash和flex针对不同的目的,提供了3种不同的坐标系 全局的就是(stage级别的) 本地坐标系(组件级别的) 内容 ...

  7. 0521 HTML基础

    一.web标准 web准备介绍: w3c:万维网联盟组织,用来制定web标准的机构(组织) web标准:制作网页遵循的规范 web准备规范的分类:结构标准.表现标准.行为标准. 结构:html.表示: ...

  8. ie6不认识

    1.   ie6 不认识这样连续写的类选择 .class1.class2{  } 2.   ie6 下不解析 css  input[type="text"] 等等类别的选择

  9. debian下使用ft232为stm32f429i-discovery烧写uboot和uImage

    操作系统:debian 软件: openocd  minicom 硬件:  MiniUSB线.stm32f429i-discovery, WaveShare FT232串口模块(可以在淘宝上买到) 关 ...

  10. HTML特效文字代码大全

     HTML特效文字代码大全一.从右向左移代码<marquee direction=left>需要移动的文字</marquee>二.从左向右移代码<marquee dire ...