JavaScript原生对象

基本概念

背景

  • 如何描述学生或商品等复合型数据。每个学生有自己的姓名、年龄、性别等数据,如果用一维数组下标的方式来访问学生的具体数据,如student[0]表示姓名,student[1]表示年龄。使用很不方便。所以用原生对象来进行描述这种复合型数据

概念

  • 是JavaScript专属的 一种用于表示复合数据的数据结构。它是以属性的方式来表示复合数据中的某个数据,可以实现容易理解,数据统一管理等。

原生对象的基本使用

定义原生对象

  1. //1. 定义一个空的原生对象
  2. var 对象变量名 = {};
  3. //2 定义一个带有默认数据的原生对象
  4. var 对象变量名 = {
  5. 属性名1: 属性值1,
  6. 属性名2: 属性值2,
  7. 属性名n: 属性值n
  8. };
  9. 例子:
  10. var Student= {};
  11. //描述学生1:张三 12 男
  12. var student ={
  13. name:"张三",
  14. age:12,
  15. sex:'男'
  16. };
  17. var 学生1 = {
  18. 姓名:"张三",
  19. 年龄:12,
  20. 性别:"男"
  21. };

获取或设置对象中的属性

  1. 获取:
  2. 对象名.属性名
  3. 设置:
  4. 对象名.属性名= 新数据;
  5. 例子:
  6. var student = {
  7. name: "张三",
  8. age: 12,
  9. sex: "男",
  10. };
  11. //输出学生的姓名
  12. console.log(student.name); 输出张三
  13. //设置年龄为18
  14. student.age = 18;
  15. console.log(student.age);输出 18

对象数组

定义和使用

  • 定义:一个数组里的每个数据都是一个原生对象
    1. var arr =[对象1,对象2,对象n];
  • 使用:通过下标来使用 ```javascript var good1 ={
    1. name:'卫龙辣条',
    2. price:12,
    3. stock:1000,
    4. bought:20
    } var good2 = {
    1. name:'渣渣辉ins风秋裤',
    2. price:300,
    3. stock:100,
    4. bought:1
    } var good3 = {
    1. name:'特斯拉12',
    2. price:120000,
    3. stock:100,
    4. bought:30
    } //定义数组 var arr =[good1,good2,good3];
  • 使用数组的第一个对象的name属性 console.log(arr[0].name);// 输出卫龙辣条
  • 将数组中第一个商品的名称改为娃哈哈AD钙 arr[0].name = “娃哈哈AD钙”; ```

应用:完成商品排序(按销量)

  1. var goods = [good1,good2,good3];
  2. goods.sort(function(good1,good2){
  3. //根据销量的比较来决定两个商品的排序
  4. return good2.bought - good1.bought;
  5. });