网站首页 > 教程分享 正文
数组是对象
数组是一种特殊类型的对象。
在 JavaScript 中对数组使用 typeof 运算符会返回 “object”。
var cars = ["Saab", "Volvo", "BMW"];
console.log(typeof cars); // object
使用数字来访问元素
数组使用数字来访问其元素。
var cars = ["Saab", "Volvo", "BMW"];
console.log(cars[0]); // Saab
在本例中,cars[0] 返回 Saab。
使用名称来访问其成员
对象使用名称来访问其成员。
var person = {
firstName: "Marcus",
lastName: "Rashford",
age: 23
}
console.log(person.firstName); // Marcus
本例中,person.firstName 返回 Marcus。
数组元素可以是元素
JavaScript 变量可以是对象。
数组是特殊的对象。
正因为如此,可以在相同数组中存放不同类型的变量。
可以在数组中保存对象,可以在数组中保存函数,甚至可以在数组中保存数组。
数组属性和方法
JavaScript 数组的真实力量隐藏在数组的属性和方法中
length 属性
JavaScript 的 Array 可以包含任意数据类型,并通过索引来访问每个元素。 要取得 Array 的长度,直接访问 length 属性:
var arr = [1, 2, 3.14, 'Manchester', null, true];
console.log(arr.length); // 6
直接给 Array 的 length 赋一个新的值会导致 Array 大小的变化:
var arr = [1, 2, 3];
console.log(arr.length); // 3
arr.length = 6;
console.log(arr); // [ 1, 2, 3, <3 empty items> ]
arr.length = 2;
console.log(arr); // [ 1, 2 ]
关联数组
很多编程元素支持命名索引的数组。
具有命名索引的数组被称为关联数组(或散列)。
JavaScript 不支持命名索引的数组。
在 JavaScript 中,数组只能使用数字索引。
var person = [];
person[0] = "Marcus";
person[1] = "Rashford";
person[2] = 23;
var x = person.length;
console.log(x); // 3
var y = person[0];
console.log(y); // Marcus
假如使用命名索引,JavaScript 会把数组重定义为标准对象。
之后,所有数组的方法和属性将产生非正确结果。
var person = [];
person["firstName"] = "Marcus";
person["lastName"] = "Rashford";
person["age"] = 23;
var x = person.length;
console.log(x); // 0
var y = person[0];
console.log(y); // undefined
数组和对象的区别
在 JavaScript 中,数组使用数字索引。
在 JavaScript 中,对象使用命名索引。
数组是特殊类型的对象,具有数字索引。
- 上一篇: 程序员须知:高效的JavaScript数组方法
- 下一篇: JavaScript 中常用的数组操作方法
猜你喜欢
- 2024-10-01 JavaScript 数组的常用方法(javascript数组有哪些方法)
- 2024-10-01 JavaScript中数组的方法(javascript数组有哪些方法)
- 2024-10-01 判断是否为数组的 JavaScript 方法总结
- 2024-10-01 JavaScript 中常用的数组操作方法
- 2024-10-01 JavaScript 数组常见操作(一)(javascript数组的方法)
- 2024-10-01 程序员须知:高效的JavaScript数组方法
- 2024-10-01 JavaScript 数组方法的介绍(javascript中数组)
- 2024-10-01 JavaScript中5个值得被广泛使用的数组方法
- 2024-10-01 JavaScript 判断数组的方法总结,哪种最靠谱?
- 2024-10-01 JS基础-数组详解(js数组操作方法大全)
你 发表评论:
欢迎- 最近发表
-
- 有了这份900多页的Android面试指南,你离大厂Offer还远吗?
- K2 Blackpearl 流程平台总体功能介绍:常规流程功能
- 零基础安卓开发起步(一)(安卓开发入门视频)
- 教程:让你的安卓像Windows一样实现程序窗口化运行
- Android事件总线还能怎么玩?(事件总线有什么好处)
- Android 面试被问“谈谈架构”,到底要怎样回答才好?
- Android开发工具Parcel和Serialize
- Android 中Notification的运用(notification widget安卓)
- Android退出所有Activity最优雅的方式
- MT管理器-简单实战-去除启动页(mt管理器怎么去除软件弹窗)
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)