JavaScript对象数据类型

JavaScript 对象数据类型


对象数据类型

  • 对象(object):是我们的复杂数据类型的一种

  • 对象就是在内存中开辟一个空间,在里面存放一些数据


创建对象

一、字面量形式创建空对象
	var obj = {}
    console.log(obj) // {}
二、内置构造函数创建空对象
	var obj2 = new Object()
    console.log(obj2) // {}
三、直接创建一个有成员的对象
	var obj = {
      
      // 键名:键值 (键名是唯一的,如果重复了,后面的会覆盖前面的)
      a: 100,
      b: true
    }
    console.log(obj)

操作对象的语法(点语法)

  • 就是对对象空间内部的数据进行增删改查
一、增
  • 增:向对象空间里面存储一个数据

  • 语法:

    • 对象名.你自己起的名字 = 你要存储的值
	// 创建一个空对象
    var obj = {}

    // 向对象里面添加数据
    obj.a = 100
    obj.b = 200

    console.log(obj) // {a: 100, b: 200}
二、删
  • 删:删除对象空间里面的某一个数据

  • 语法:

    • delete 对象名.你要删除的数据的名字
	// 创建一个对象
	var obj = {
        a: 100, 
        b: 200
      }
      
    // 删除对象里面的一个数据
    delete obj.a

    console.log(obj) // {b: 200}
三、改
  • 改:修改对象空间里面的某一个数据

  • 语法:

    • 对象名.你要修改的名字 = 你要修改的值
  • 注:和创建(增加)的语法一模一样

    • 对象空间内 本身存在这个名字就是修改
    • 对象空间内本身不存在这个名字就是创建(增加)
	var obj = {
      b: 200
    }
    obj.b = 500
    console.log(obj) // {b: 500}

    obj.c = 600
    console.log(obj) // {b: 500, c: 600}
四、查
  • 查:获取对象空间里面的某一个数据

  • 语法:

    • 对象名.你要查询的数据的名字
      • 注:找不到的时候,就是 undefined
 	var obj = {
      b: 500, 
      c: 600
    }
    console.log(obj.b) // 500
    console.log(obj) // {b: 500, c: 600}

对象的操作语法(数组关联语法)

一、增
  • 对象名[‘你要添加的名字’] = 你要添加的值
	var obj = {}

    obj.a = 100
    obj.age = 18
    obj.gender = '男'
    obj['name'] = 'Jack'

    console.log(obj) // {a: 100, age: 18, gender: "男", name: "Jack"}
二、删
  • delete 对象名[‘你要删除的名字’]
	var obj = {
      a: 100, 
      age: 18, 
      gender: "男", 
      name: "Jack"
    }
    delete obj.age
    delete obj["a"]

    console.log(obj) // {gender: "男", name: "Jack"}
三、改
  • 对象名[‘你要修改的名字’] = 你要修改的值
	var obj = {
      gender: "男",
      name: "Jack"
    }
    obj.a = 200
    obj['gender'] = '女'

    console.log(obj) // {gender: "女", name: "Jack", a: 200}
四、查
  • 对象名[‘你要查询的名字’]
 	var obj = {
      gender: "女", 
      name: "Jack", 
      a: 200
    }
    console.log(obj.gender) // 女
    console.log(obj['name']) // Jack

    console.log(obj) // {gender: "女", name: "Jack", a: 200}
  • 注:点语法和数组关联语法使用的结果没有区别,互相可以混合着使用,只是为了实现一个需求的两种语法

对象存储数据

	// 对象存储数据
    var obj = {}

    obj['name'] = 'Jack' // 字符串
    obj.sex = true // 布尔类型
    obj.age = 18 // 数值类型
    obj.fn = function () { // 函数类型
      console.log('我是存储再 obj 里面的 fn 函数') // 我是存储再 obj 里面的 fn 函数
    }

    // 使用的时候
    console.log(obj.name) // Jack
    console.log(obj.age) // 18
    console.log(obj.sex) // true
    
    // 执行函数, 就是要执行 obj 空间里面的 函数
    // obj 的 fn 执行
    obj.fn() 

访问对象的方法

一、for…in 循环
  • 语法:for ( var key in 对象 ) { 重复执行的代码 }

    • key:是你自己起的变量名(键名)
    • in:在 … 里
    • 对象:就是你要遍历的对象
    • { } :是重复执行的代码
      • 会根据对象中有多少个成员执行多少次
  • 注:主要是用来访问数组和对象的
	var obj = {
      a: 100,
      name: 'Jack',
      age: 18,
      b: 200,
      c: 500
    }

    // 表示我要遍历的是 obj 这个对象
    for (var key in obj) {

      // 利用这个 key 来遍历对象中的每一个成员
      // obj['你要查询的名字']
      console.log(key + ' 成员的值是 : ' + obj[key])

      // 在这个循环里面
      // 第一次的时候 key 就是 'a'    成员的值是 100
      // 第二次的时候 key 就是 'name' 成员的值是 Jack
      // 第三次的时候 key 就是 'age'  成员的值是 18
      // 第四次的时候 key 就是 'b'    成员的值是 200
      // 第五次的时候 key 就是 'c'    成员的值是 500
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值