新人有很多理论相关的不理解,javascript中所有的变量名(不管是基本类型或者是引用类型的变量;变量和变量名是不一样的吧)都存储在栈中吗?因为函数的参数也是变量,所以函数的参数名也是存储在栈中的吗?而栈的大小是固定的,所以存储的只是一个变量名称,而不是变量所代表的对象是吗?对象都是存储在堆内存中,会有一个内存首地址,将这个地址赋给了栈中的变量名,是这样吗?请前辈们指点啊
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
所有的有vm的语言,没有C/c++那种机器级别栈,他们会自己搞出很多种数据结构(vm各种内存区之类的)。
变量可以理解为全部存在栈中,对于引用类型来说变量名是引用(类似于指针的感觉),引用指向内存中存在堆上的对象,而普通的值类型,全部存在栈中,和
c++中的概念相通吧,js的对象都是被new出来的,从c++的角度来看,new出来的都是在堆上吧。只是个人想法,也有可能不对。。。