gpt4 book ai didi

javascript - 说 javascript 变量指向一个值是否正确?

转载 作者:行者123 更新时间:2023-11-30 16:00:55 25 4
gpt4 key购买 nike

我听说 JavaScript 实际上并不像其他语言那样“指向”内存中的值(或对象,因为在 JS 中一切都是对象)。相反,JS 变量引用内存中的其他值/对象。这是真的?指向和引用之间的语义区别是什么?

最佳答案

变量名

JavaScript 变量名称用作包含变量值的对象的属性名称键,例如 environment record代码范围内的函数对象,或全局对象本身。因此变量名访问变量值和数据类型的对象属性实现。

在这种模型下,是的,JavaScript 值不会“指向”任何东西,它们是包含变量值的对象的属性名称。

数据类型

在 Javscript 中一切都是对象?没有。Javascript 包含原始数据类型,例如“数字”、“ bool 值”、“空值”等,它们可以在内存中用有限数量的八位字节表示,原始数据类型“字符串”可以使用可变数量的内存,以及一个复杂的数据类型“对象”,它也可以使用可变数量的内存。 具体如何将每种数据类型保存在对象属性中以及如何调用以进行访问取决于实现,并且不在本答案的范围内

引用、指针和 JavaScript

根据评论中链接的问题,指针是一种使用内存地址的特殊引用类型。更一般地说,“引用”涵盖用于访问另一个值的任何值,并且可以包括内存地址、表索引或用于访问某些内容的键。

对象数据类型。

完整性

对象数据类型实际上是一种引用数据类型,包含 某种类型 的引用,Javascript 引擎使用该引用来访问为对象保存的数据。相同对象引用的每个等值副本访问相同的底层对象数据结构。

因此,对作为参数传递给函数的对象的属性所做的更改在返回时仍然存在,并且在多个变量设置为相同对象值的情况下,每个变量访问同一组对象属性。

关于javascript - 说 javascript 变量指向一个值是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37769771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com