【JavaScript】21_对象的结构

时间:2023-02-21 17:06:18

9、对象的结构

对象中存储属性的区域实际有两个:

  1. 对象自身
  • 直接通过对象所添加的属性,位于对象自身中
  • 在类中通过 x = y 的形式添加的属性,位于对象自身中
  1. 原型对象(prototype)
  • 对象中还有一些内容,会存储到其他的对象里(原型对象)
  • 在对象中会有一个属性用来存储原型对象,这个属性叫做__proto__
  • 原型对象也负责为对象存储属性, 当我们访问对象中的属性时,会优先访问对象自身的属性, 对象自身不包含该属性时,才会去原型对象中寻找
  • 会添加到原型对象中的情况:
  1. 在类中通过xxx(){}方式添加的方法,位于原型中
  2. 主动向原型中添加的属性或方法

<script>
class Person {
name = "孙悟空"
age = 18

// constructor(){
// this.gender = "男"
// }

sayHello() {
console.log("Hello,我是", this.name)
}
}

const p = new Person()
// p.address = "花果山"
// p.sayHello = "hello"

console.log(p.sayHello)
</script>