1. Array对象

1.1. Array对象用于在单个的变量中存储多个值。

1.2. 创建Array对象的语法:

new Array();
new Array(size);
new Array(element0, element1, ..., elementn);

1.3. 参数

1.3.1. 参数size是期望的数组元素个数。返回的数组, length字段将被设为size的值。

1.3.2. element ..., elementn是参数列表。当使用这些参数来调用构造函数Array()时, 新创建的数组的元素就会被初始化为这些值。它的length字段也会被设置为参数的个数。

1.4. 返回值

1.4.1. 如果调用构造函数Array()时没有使用参数, 那么返回的数组为空, length字段为0。

1.4.2. 当调用构造函数Array(size)只传递给它一个数字参数时, 该构造函数将返回具有指定个数、元素为undefined的数组。

1.4.3. 当其他参数调用Array(element0)或Array(element0, element1, ..., elementn)时, 该构造函数将用参数指定的值初始化数组。

2. Array对象属性

3. Array对象方法

4. 使用数组文本创建数组和Array对象创建数组

4.1. 使用数组文本创建数组和Array对象创建数组, 效果完全一样。

4.2. 出于简洁、可读性和执行速度的考虑, 我们使用数组文本创建数组。就是因为new Array()多执行了一个Array()构造函数, 所以它创建数组比以数组文本的方式创建数组复杂的多。

4.3. 使用数组文本创建数组和Array对象创建数组都是对象类型。

4.4. 使用数组文本创建数组和Array对象创建数组内存结构:

5. 例子

5.1. 代码

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8" /><title>Array对象</title></head><body><script type="text/javascript">var arr1 = new Array();var arr2 = new Array(10);var arr3 = new Array("只有一个参数");var arr4 = new Array('abc', 12, true);var arr5 = [];var arr6 = ['abc', 12, true];document.write('arr1 = ' + arr1 + ' <b style="color: red">|</b> arr1.length = ' + arr1.length + '<br />');document.write('arr2 = ' + arr2 + ' <b style="color: red">|</b> arr2.length = ' + arr2.length + '<br />');document.write('arr3 = ' + arr3 + ' <b style="color: red">|</b> arr3.length = ' + arr3.length + '<br />');document.write('arr4 = ' + arr4 + ' <b style="color: red">|</b> arr4.length = ' + arr4.length + '<br />');document.write('arr5 = ' + arr5 + ' <b style="color: red">|</b> arr5.length = ' + arr5.length + '<br />');document.write('arr6 = ' + arr6 + ' <b style="color: red">|</b> arr6.length = ' + arr6.length + '<br />');</script></body>
</html>

5.2. 效果图

6. Array对象重写了Object对象的constructor: ƒ Array()属性, 和toLocaleString()、toString()这两个方法。

7. toLocaleString()方法

7.1. 首先调用每个数组元素的toLocaleString()方法, 然后使用地区特定的分隔符把生成的字符串连接起来, 形成一个本地字符串。

7.2. 语法

arrayObject.toLocaleString()

8. 例子

8.1. 代码

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8" /><title>Array对象toLocaleString()方法</title></head><body><script type="text/javascript">var arr1 = new Array(3.1415926, new Date());document.write('arr1 = ' + arr1 + '<br />');document.write('arr1.toString() = ' + arr1.toString() + '<br />');document.write('arr1.toLocaleString() = ' + arr1.toLocaleString() + '<br />');</script></body>
</html>

8.2. 效果图

9. 如何识别数组

9.1. ECMAScript 5定义了新方法Array.isArray(arr)判断一个对象是否是数组:

var arr1 = new Array('abc', 12, true);
Array.isArray(arr1); // 输出true

9.2. 在对象的constructor属性上查找Array字符串判断一个对象是否是数组:

var arr2 = ['abc', 12, true];
arr2.constructor.toString().indexOf('Array') > -1; // 输出true

9.3. 使用instanceof运算符判断一个对象是否是数组:

var arr1 = new Array('abc', 12, true);
arr1 instanceof Array // 输出true

9.4. 例子

9.4.1. 代码

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="utf-8" /><title>如何识别数组</title></head><body><script type="text/javascript">var arr1 = new Array('abc', 12, true);var arr2 = ['abc', 12, true];document.write('arr1.constructor = ' + arr1.constructor + ', (typeof arr1.constructor) = ' + (typeof arr1.constructor) + '<br />');document.write('arr2.constructor = ' + arr2.constructor + ', (typeof arr2.constructor) = ' + (typeof arr2.constructor) + '<br />');document.write('arr1.constructor.toString() = ' + arr1.constructor.toString() + ', (typeof arr1.constructor.toString()) = ' + (typeof arr1.constructor.toString()) + '<br />');document.write('arr2.constructor.toString() = ' + arr2.constructor.toString() + ', (typeof arr2.constructor.toString()) = ' + (typeof arr2.constructor.toString()) + '<br />');document.write('arr1是数组吗: ' + Array.isArray(arr1) + ', arr2是数组吗: ' + Array.isArray(arr2) + '<br />');document.write('arr1是数组吗: ' + (arr1.constructor.toString().indexOf('Array') > -1) + ', arr2是数组吗: ' + (arr2.constructor.toString().indexOf('Array') > -1) + '<br />');document.write('arr1是数组吗: ' + (arr1 instanceof Array) + ', arr2是数组吗: ' + (arr2 instanceof Array) + '<br />');</script></body>
</html>

9.4.2. 效果图

051_Array对象相关推荐

  1. java_B站_面试题

    Java面向对象有哪些特征,如何应用 ​ 面向对象编程是利用类和对象编程的一种思想.万物可归类,类是对于世界事物的高度抽象 ,不同的事物之间有不同的关系 ,一个类自身与外界的封装关系,一个父类和子类的 ...

  2. 史上最详细的23中设计模式解析,一个不落,理论搭配简单案例,更好理解哦

    目录 一.软件设计模式的产生背景 二.软件设计模式的概念与意义 1. 软件设计模式的概念 2. 学习设计模式的意义 三.23 种设计模式的分类和功能 1. 根据目的来分 2. 根据作用范围来分 3. ...

  3. 在kotlin companion object中读取Bean,注入Bean对象

    在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http. mongo. redis相关的组件.   使用组 ...

  4. IDEA自动生成对象所有set方法

    idea中有一款插件能够生成对象所有的set方法,GenerateAllSetter :下载地址 步骤1:将下载好的压缩包放在自己记得的文件夹中,在idea中进行导入 步骤2:在本地选中刚才的压缩包, ...

  5. 基于Golang的对象序列化的程序包开发——myJsonMarshal

    基于Golang的对象序列化的程序包开发--myJsonMarshal[阅读时间:约10分钟] 一.对象序列化概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体程序设计及 ...

  6. java 捕获异常并存入数据库_java异常处理,报异常的话怎么处理对象值,并持久化到数据库中...

    展开全部 //没看到有人回e68a843231313335323631343130323136353331333365646233答你,我还没学到框架,不知道那个是不是可以很便捷操作你说的这样过程 / ...

  7. python程序如何执行死刑图片_如何判断对象已死

    已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了: 引用计数 给对象添加一个引用计数器,每当有一个地方引用他,计算器就加 1:当引用失效时,计数器减 1:任何时刻计数器 ...

  8. Go 学习笔记(64)— Go error.New 创建接口错误对象、fmt.Errorf 创建接口错误对象、errors.Is 和 errors.As

    1. error 接口定义 除用 panic 引发中断性错误外,还可返回 error 类型错误对象来表示函数调用状态.error 接口是 Go 原生内置的类型,它的定义如下: // $GOROOT/s ...

  9. OpenCV 笔记(06)— Mat 结构、像素值存储方法、创建 Mat 对象各种方法、Mat 对象的运算

    数字图像中的每个点都称为像素(对于图像元素),并且每个像素可以存储一个或多个值,这取决于它是否是仅存储一个值的黑白图像(也称为二进制图像,比如只存储0或1),还是存储两个值的灰度图像,或者是存储三个值 ...

最新文章

  1. Matlab与线性代数 -- 矩阵的范数
  2. 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 山东赛区
  3. 服务器系统ghost版 raid,服务器在raid5下做系统ghost备份.docx
  4. DISTINCT 去重---SQL
  5. 你的微信二维码是唯一的吗?【微信二维码的秘密】
  6. 最大子序列和问题 hdu1231
  7. 乒乓球比赛赛程_10月5日至10月11日中央电视台直播录播乒乓球比赛安排
  8. Android程序版本更新--通知栏更新下载安装(转)
  9. php diy,PHP DIY 系列------基础篇:1. PSR
  10. 拓端tecdat|R语言多维数据层次聚类散点图矩阵、配对图、平行坐标图、树状图可视化城市宏观经济指标数据
  11. python气象绘图速成_气象数据可视化——利用Python绘制温度平流
  12. Julia: 自制的Julia代码排版工具CodeBeautify
  13. [转]垂直搜索基础知识(1)
  14. 简洁商业计划书PPT模板
  15. mpeg2是信源还是信道编码_11.2、11.3信源及信道编码.ppt
  16. 华为p20支持手机云闪付吗_华为哪些手机支持云闪付
  17. SParC: Cross-Domain Semantic Parsing in Context 论文解读
  18. 基本概念:线与逻辑、锁存器、缓冲器、建立时间、缓冲时间
  19. 原生小程序 之引入 icon字体图标
  20. c++动态规划法求解斐波那契数列

热门文章

  1. GetResponse() 基础连接已经关闭:服务器关闭了本应保持活动状态的连接
  2. 使用RawSocket进行网络抓包
  3. 马哥教育第二十四ftp协议、vsftpd的高级应用、rpc概念及nfs的基本应用、samba及其基本应用...
  4. hdu 1253 胜利大逃亡(BFS)
  5. EDM营销内容撰写要注意的几个方面
  6. Android4.0 Launcher 源码分析系列(二)
  7. JAVA项目中出现部分中文乱码问题
  8. IPv6改造三步曲——Vecloud
  9. 20162328蔡文琛 第十周 周五 课上测试
  10. Chapter34 创建主窗口/实现应用程序功能