请问javascript的帧是什么?

解决方案 »

  1.   

    在解释执行javascript函数时,需要一些空间来保存参数、临时变量。这些变量是存储在javascript的帧上的。一般用frame来表述“帧”这个概念。
    c语言的参数、临时变量是存储在“栈”上的。一般是用“stack”来表述“栈”这个概念。与c语言做对比,会有一个疑问:javascript的参数、临时变量不能存储在“栈”上吗,干嘛还要创建这么一个新概念“帧”来存储参数,临时变量?
    我认为只要能够把“栈”与“帧”的概念给搞明白了,疑惑就消除了。希望下面的话对你理解“栈”、“帧”有帮助。
    1. 帧的空间是从栈上分配的。
    2. “帧”是为js函数分配的。每一个js函数在运行时刻,都会得到一块内存空间,这块内存空间就被称为“帧”。
    3. 函数参数、临时变量直接存储在“帧”上。
    4. js函数执行完毕后,直接将“帧”从栈上弹出。
    我没理解这样做到底有什么好处。可能可以简化js引擎的实现难度。
      

  2.   

    想了半天js帧是个什么东东!
    frame/iframe..................