我有關於下面的代碼的問題。我創建了一個嵌套對象,我想用一條簡短的線條創建它。我從這個answer here得到了主意。我並未計劃將此代碼用於生產。我被警告temp
'可能'是一個泄漏。這只是我能夠生成的一個例子。我明白newSeasons
和temp
被分配到內存中的同一個對象,這就是爲什麼所有這些都是可能的。在單行中動態設置嵌套對象
這是否實際上是造成內存泄漏?
線中的問題是:
var newSeasons = temp = {}; temp[yr] = data;
可以測試code here。
function parseData (yr, stat, data) {
// The way I've been taught
var oldSeasons = {};
oldSeasons[yr] = data;
console.log('The way Ive been taught\n');
console.log(oldSeasons);
console.log('\n****************************\n');
// Experimental way
var newSeasons = temp = {}; temp[yr] = data;
console.log('Experimental way');
console.log(newSeasons);
}
var data = {
Pos: '1B',
Age: '33',
G: '116',
stat:'batting',
yr: '2005',
H:'89',
R: '42',
RBI: '48'
};
parseData(data.yr,data.stat,data);
@Amine ye對不起,我剛剛意識到我忘了那部分。 –
在你的代碼中,'temp'變成了一個全局變量,在你連接的答案中並不是這種情況。 –