簡體   English   中英

以下有什么區別嗎?

[英]Is there any difference between the following?

我試圖了解 memory 分配實際上是如何工作的,我有一個問題。

var a = {name: 'John', age: '20'};
console.log(a.name);

var a = {name: 'John', age: '20'};
var name = a.name;
console.log(name);

我知道它們都給出相同的結果,但我想知道這兩個代碼的 memory 用法是否相同。

在第一個示例中,每個聲明的變量將占用 memory 中的一個空間:

var a = {name: 'John' , age: '20'};
console.log(a.name);

var a已聲明,因此為其保留了一個空間,在第二個示例中:

var a = {name: 'John' , age: '20'};
var name = a.name;
console.log(name);

除了聲明var a之外,您還為var name保留了另一個空間

這個來自 MDN 的鏈接可以提供更好的見解:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management

希望這對你有用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM