8

我一直想知道 JavaScript 如何在null内部存储值。null不同于任何值。我想象作用域的变量存储在某种结构数组中,每个结构对应一个变量。该结构是否具有某种称为“null”的布尔属性?

我会自己在 V8 源代码中寻找它,但我很迷失在 C++ 代码中:(

我在谷歌上找不到任何东西。大多数结果都与诸如“如何确定变量是未定义还是为空?”之类的问题有关。或类似的。

4

1 回答 1

4

JavaScript 作为一种弱类型的脚本语言,可能有一个变体类型,它支持各种类型的值。我相信 PHP 使用相同类型的变量,尽管它们在其他语言中也是众所周知的,并且在 COM 自动化中发挥着重要作用。

它们基本上是包含类型和值的结构。该值可以是简单值,也可以是指向更大或更复杂值的指针。null只是受支持的类型之一,在这种情况下,值本身不起作用。

但是由于 JavaScript 知道很多解释器,所以它的实现方式没有规则,这是你不应该担心的。通常,您只需要了解诸如此类用于时间关键型应用程序的底层技术,无论如何都不应该用 JavaScript 编写。

于 2012-12-27T00:29:49.043 回答