首页 > 编程笔记 > JavaScript笔记 > JS面向对象编程
JS对象和数组的区别
JavaScript 中的对象(Object)和数组(Array)有时候看起来很相似,但它们是两种不同类型的数据集合,其中对象是包含已命名的值的无序集合,而数组则是包含已编码的值的有序集合。
示例1
下面示例分别使用对象和数组来存储 1 和 true 这两个值。代码结构如下:var o = { //对象 x :1, //该值命名为x y : true //该值命名为y } var a = [ //数组 1, //该值隐含编码为0 true //该值隐含编码为1 ]对象的存储形式很像数组,因此被称为关联数组,但它不是真正意义上的数组。关联数组就是将值与特定字符串关联在一起。真正的数组与字符串没有联系,但是它将值和非负整数的下标关联在一起。
console.log(o["x"]); //返回1,使用点语法存取属性 console.log(a[0]); //返回1,使用中括号存取属性使用点语法存取属性时,属性名是标识符;而使用中括号存取属性时,属性名为字符串。
示例2
当用点号运算符来存取对象属性时,属性名是用标识符表示的;当用中括号来存取对象属性时,属性名是用字符串表示的,因此可以在运行过程中动态生成字符串。var o = { p1 : 1, p2 : true } for (var i = 1; i < 3; i ++) { console.log(o["p" + i]); }通过关联数组法访问带有字符串表达式的对象属性是非常灵活的。当对象属性非常多时,使用点语法来存取对象属性会比较麻烦。另外,在一些特殊情况下只能使用关联数组形式来存取对象属性。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算