Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的JVM/堆/堆栈等价物是什么?_Javascript - Fatal编程技术网

JavaScript中的JVM/堆/堆栈等价物是什么?

JavaScript中的JVM/堆/堆栈等价物是什么?,javascript,Javascript,我是一个JavaScript新手。我已经习惯了Java,因此我试图以极其错误的方式映射两个世界 问题: 每个Java实例都在JVM上运行。JavaScript的JVM等价物是什么 在Java中,对象占用内存,内存存储在堆中。JavaScript对象存储在哪里?换句话说,JVM的堆对于JavaScript的等效性是什么 Java中的每个函数调用都会添加一个堆栈框架。JavaScript函数调用是否也这样做(即添加堆栈) Java和ECMAScript不是同一种语言,过去的一般性做法是有不同的执

我是一个JavaScript新手。我已经习惯了Java,因此我试图以极其错误的方式映射两个世界

问题:

  • 每个Java实例都在JVM上运行。JavaScript的JVM等价物是什么

  • 在Java中,对象占用内存,内存存储在堆中。JavaScript对象存储在哪里?换句话说,JVM的堆对于JavaScript的等效性是什么

  • Java中的每个函数调用都会添加一个堆栈框架。JavaScript函数调用是否也这样做(即添加堆栈)
  • Java和ECMAScript不是同一种语言,过去的一般性做法是有不同的执行模型。虽然在技术上对诸如“引用”和“堆”之类的东西非常精确,但它只关注行为

    ECMAScript的一致性实现必须提供并支持本规范中描述的所有类型、值、对象、属性、函数以及程序语法和语义(行为)

    ECMAScript由一个。通常每个浏览器窗口有一个“环境”;也就是说,每个
    窗口
    对象是最多一个并发对象的全局上下文。这实际上意味着每个浏览器窗口“是一个单独的VM”

    每个可变对象都是可变的,并且每个对象只有在被强引用时才是可访问的(因此保证是活动的)。这些实现当然使用“堆”内存和“引用”,因为这是一种实用/必需的设计选择;但是规范中没有讨论“堆”或“引用”(在这个意义上)的用法

    规范讨论了由逻辑链组成的堆栈

    当控件被传输到ECMAScript可执行代码时,控件正在进入执行上下文。活动执行上下文逻辑上形成堆栈


    1.浏览器。2.这是含蓄的。3.对你可以触发一个;只有每个Javascript函数也是一个对象。