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;
});