基本类型(数字、字符串等)通过值传递。然而,对象是未知的,因为它们都可以通过值传递(在这种情况下,我们认为保存对象的变量是
基本类型(数字、字符串等)通过值传递。但对象是未知的,因为它们既可以通过值传递(在这种情况下,我们认为保存对象的变量是对象的引用),也可以通过引用传递(我们认为对象的变量保存对象本身)。
虽然最终这并不重要,但我想知道传递参数约定的正确方式是什么。是否有 JavaScript 规范摘录,其中定义了关于此的语义应该是什么?
“通过值传递引用”这个短语似乎不必要地令人困惑和多余。传递引用时当然必须传递一些值。虽然从技术上讲是正确的,但大多数人可能默认认为除非另有说明,否则任何东西都是通过值传递的。因此,除非引用本身是通过引用传递的(有点像 C 语言中指向指针的指针),否则引用当然是通过值传递的,但在这种情况下,Javascript 甚至不支持这一点,所以我认为它无助于使概念更清晰