API :

应⽤程序接⼝ {我们后期讲的⽅法咋⽤就是API⽅法、后期从服务器 基于⼀个地址获取数据也是⼀个API…}

MDN :

https://developer.mozilla.org/zh-CN/



HEAP堆内存 & STACK栈内存

思考:为啥要分成 原始值类型 和 对象类型?

@1 计算机内存
内存条 & CPU
硬盘

浏览器加载页面,运行我们的JS代码

  • @1 每打开一个新的页面,都会在计算机的内存条中分配出两块内存:栈内存Stack & 堆内存Heap
    • @2 栈内存主要用于代码执行和存储原始值类型的值 变量也存于栈内存中
    • @3 堆内存主要用于存储对象类型的值

      原始值类型和对象类型 区别

      1.原始值类型 结构比较简单 直接存储到栈内存中即可,后续变量都直接关联和操作这个值的
      “按值操作”{所以它也叫:值类型/基本数据类型}
      2. 对象类型,结构比较复杂,不能直接存储到栈内存中,需要在堆内存中单独开辟一个空间,来存储对象的键值对
      而变量关联和操作的都是:堆内存空间的引用地址{16进制} “按引用地址操作” 所以它也叫引用数据类型

      HEAP堆内存 & STACK栈内存

原始值类型在内存中存储
image.png

对象类型在内存中的存储
image.png

1.png

  1. // https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
  2. var a = {n: 1};
  3. var b = a;
  4. a.x = a = {n: 2};
  5. console.log(a.x);//undefined
  6. console.log(b);//{n:1,x:{n:2}}

image.png