JavaScript原生对象
基本概念
背景
- 如何描述学生或商品等复合型数据。每个学生有自己的姓名、年龄、性别等数据,如果用一维数组下标的方式来访问学生的具体数据,如student[0]表示姓名,student[1]表示年龄。使用很不方便。所以用原生对象来进行描述这种复合型数据
概念
- 是JavaScript专属的 一种用于表示复合数据的数据结构。它是以属性的方式来表示复合数据中的某个数据,可以实现容易理解,数据统一管理等。
原生对象的基本使用
定义原生对象
//1. 定义一个空的原生对象var 对象变量名 = {};//2 定义一个带有默认数据的原生对象var 对象变量名 = { 属性名1: 属性值1, 属性名2: 属性值2, 属性名n: 属性值n};例子:var Student= {};//描述学生1:张三 12 男var student ={ name:"张三", age:12, sex:'男'};var 学生1 = { 姓名:"张三", 年龄:12, 性别:"男"};
获取或设置对象中的属性
获取: 对象名.属性名设置: 对象名.属性名= 新数据;例子:var student = { name: "张三", age: 12, sex: "男",};//输出学生的姓名console.log(student.name); 输出张三//设置年龄为18 student.age = 18;console.log(student.age);输出 18
对象数组
定义和使用
- 定义:一个数组里的每个数据都是一个原生对象
var arr =[对象1,对象2,对象n];
- 使用:通过下标来使用
```javascript
var good1 ={
name:'卫龙辣条', price:12, stock:1000, bought:20
}
var good2 = { name:'渣渣辉ins风秋裤', price:300, stock:100, bought:1
}
var good3 = { name:'特斯拉12', price:120000, stock:100, bought:30
}
//定义数组
var arr =[good1,good2,good3]; - 使用数组的第一个对象的name属性
console.log(arr[0].name);// 输出卫龙辣条
- 将数组中第一个商品的名称改为娃哈哈AD钙
arr[0].name = “娃哈哈AD钙”;
```
应用:完成商品排序(按销量)
var goods = [good1,good2,good3];goods.sort(function(good1,good2){ //根据销量的比较来决定两个商品的排序 return good2.bought - good1.bought;});