你对你的对象有多少了解

我理解的对象

       对象是属性的容器, 是具体事物用键值对的的抽象描述

对象类型与基本数据类型的区别

  1. 存储位置
           基本数据类型保存在栈结构中, 对象类型(引用类型)保存在堆结构中, 其地址可以保存在栈结构中

  2. 添加属性
           基本数据类型不可添加属性, 尽管不会报错, 但这个属性不会添加成功
    assign

  3. 传递参数
           基本数据类型传递的是值的副本, 对象类型传递的是其引用, 或者说是其在内存中的地址的副本

对象为什么要实现继承

       减少对象初始化消耗的时间和内存

变量对象

       每个函数的执行环境Execution Context都有与之关联的变量对象, 执行环境中的变量和函数都保存在变量对象中, 变量对象通过函数的内部属性[[Scopes]]来引用, 作用域链的本质是一个指向变量对象的指针列表, 它决定了执行环境访问变量对象的顺序, 局部变量对象只在函数执行时才存在, 函数执行后如果局部变量对象没有被引用, 就会被内存释放, 所以称其为活动对象, 全局的变量对象window始终存在
scopes

       用点去查找对象的属性时, 会调用访问器属性的的getter函数

       在实践中, 将属性查找变为局部变量的值查找会减少算法的复杂度, 提高性能