日期:2014-05-16  浏览次数:20458 次

请问javascript的帧是什么
请问javascript的帧是什么?

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

------解决方案--------------------
想了半天js帧是个什么东东!
frame/iframe..................