面向对象
面向对象是现实的抽象方式
不过数据是虚拟的 很多东西并不能抽象为现实
Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此 对象。 n 可接收三个参数: pobj要定义属性的对象; pprop要定义或修改的属性的名称或Symbol; pdescriptor要定义或修改的属性描述符; n 返回值: p被传递给函数的对象。
构造函数
构造函数也称之为构造器(constructor),通常是我们在创建对象时会调用的函数,构造函数也是一个普通的函数,从表现形式来说,和千千万万个普通的函数没有任何区别。
如果一个函数被new操作符调用了,那么这个函数就称之为是一个构造函数。
函数的原型
所有的函数都有一个prototype属性 指向一个内存空间
当new的时候 函数Person会创建一个新对象 foo={},prototype属性会赋值给该构造函数的prototype属性(proto),然后将{}赋值给this,之后将对象返回出去。
内存表现