对象的创建和访问对象属性(js学习日记)

本文详细介绍了JavaScript中创建对象的多种方法,包括字面量、new操作符、构造函数和工厂模式,并展示了如何通过点语法和方括号语法访问对象属性。同时,讲解了如何使用变量作为对象属性键,以及对象属性的查找机制。
摘要由CSDN通过智能技术生成

什么是对象?

对象是属性和方法的集合,每个属性都有名字和值(键值对)

怎么创建对象

  1. 通过字面量的方式去创建对象
	let obj = {
		// 大括号内写键值对
		name:'张三'
	}
	console.log(obj) // Object { name: "张三" }
  1. 使用new创建一个对象
	let obj = new Object()
	obj.name = '张三'
	console.log(obj)  // Object { name: "张三" }
  1. 使用构造函数创建对象,需要new一下,属性和方法赋给了this对象,可以使用instanceof函数检测对象
   function Person(name,sex) {
      this.name = name
      this.sex = sex
   }
   let obj = new Person('张三','男')
   console.log(obj); // Object { name: "张三", sex: "男" }
  1. 使用工厂模式创建对象,需要return出我们在函数中的定义的对象
   function Person(name,sex) {
      let obj = new Object()
      obj.name = name
      obj.sex = sex
      return obj
   }
   let obj = Person('张三','男')
   console.log(obj); // Object { name: "张三", sex: "男" }
  1. 使用原型去创建对象prototype,如果实例化对象没有这个属性,就会去原型寻找
   function Person() {}
   Person.prototype.name = '张三' // 在原型上定义 name 和 sex 属性
   Person.prototype.sex = '男' 
   let obj = new Person() // 实例化出对象
   console.log(obj.name,obj.sex); // 在实例化对象找不到name和sex属性,就去原型中找name和sex属性

对象的属性如何访问?

  1. 在实例化对象后加 .加属性名,属性名不能是变量,
   let obj = {
       name:'张三',
   }
   let replace = 'name'
   console.log(obj.replace); // undefined
  1. 在实例化对象后加[ ],括号内加属性名,这里可以用变量
   let obj = {
       name:'张三',
   }
   let replace = 'name'
   console.log(obj[replace]); // 张三
   console.log(obj[name]); // undefined  因为name是个空字符,这里name要用单引号包起来
   // console.log(obj['']); // undefined
怎么用变量做对象属性的键
   let replace = 'name'
   let obj = {
       replace: '张三',
       [replace]: '张三', // 变量加上 [] 就可以了, 现在 [replace] == name
   }
   console.log(obj); // Object { replace: "张三", name: "张三" }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值