我有一个C语言的背景,我刚刚开始学习Javascript。在C语言中,当我创建一个变量并初始化它时,(Ex.int foo),堆栈中为我的变量保留了空间。为不同类型保留不同数量的空间(例如int, bool, unsigned int, double)。在Javascript中只有一种类型(var),我可以将其实例化为字符串文字(Ex.var person="John Doe";)或数字(例如var x=5;)。Javascript如何在不知道需要为变量分配多少空间的情况下存储这些值?
发布于 2013-10-05 07:16:46
Javascript是动态类型的,并使用自动内存分配和回收。从实现的角度来看,您可以想象每个变量都是某种类型的数据指针和函数指针的集合;更准确地说,就像C++中的多态基类指针。不过,对象的内存是由运行时环境为您管理的,不需要手动干预。某种垃圾收集是一种可能的实现。
https://stackoverflow.com/questions/19192128
复制相似问题