|
1
3
这里的一个重要区别是
与其他一些编程语言一样,分配给对象的变量 是 引用,因此您可以执行以下操作:
但这似乎不是你所描述的那样。 听起来你所描述的是某种反应式编程。JavaScript并不像你想象的那样工作,但你可以使用闭包来实现这一点:
注意,这里
你可以做的一件更棘手的事情是:
然而,请注意,第二种技术有其局限性。您必须将值强制为您期望的类型或调用它们的类型
你不会得到任何友好的结果。 |
|
|
2
1
我将您的问题解释为,为什么当您更改原始值时,某些变量是副本,而其他变量不是副本。 这是因为某些类型的变量是引用类型,而其他类型的变量则是值类型。数字、日期和字符串是值类型,每当您将它们分配给变量时都会被复制。对象、数组(也是一个对象)是引用类型,不会复制,只是引用。 此示例使用值类型,不会复制对第一个变量的任何更改:
与同一事物相比,但与对象的引用相比:
|