JavaScript中所有的变量名都存储在栈内存中吗?

新人有很多理论相关的不理解,javascript中所有的变量名(不管是基本类型或者是引用类型的变量;变量和变量名是不一样的吧)都存储在栈中吗?因为函数的参数也是变量,所以函数的参数名也是存储在栈中的吗?而栈的大小是固定的,所以存储的只是一个变量名称,而不是变量所代表的对象是吗?对象都是存储在堆内存中,会有一个内存首地址,将这个地址赋给了栈中的变量名,是这样吗?请前辈们指点啊

阅读 4.6k
2 个回答

int open_tun (const char dev, char actual, int size)

变量可以理解为全部存在栈中,对于引用类型来说变量名是引用(类似于指针的感觉),引用指向内存中存在堆上的对象,而普通的值类型,全部存在栈中,和c++中的概念相通吧,js的对象都是被new出来的,从c++的角度来看,new出来的都是在堆上吧。只是个人想法,也有可能不对。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题