2016-02-11 81 views
0

我有功能低於如何覆蓋對象的屬性值的JavaScript

success: function (file, data) { 

    file.name=data; 
    console.log(data); 
    console.log(file.name); 
    console.log(file); 

} 

「文件」對象和「數據」是簡單的字符串。我想覆蓋文件名,例如file.name的值爲「test」,數據的值爲「umar」。現在,在第一行中,我將數據值分配給文件file.name=data;,但是當我再次打印file.name時,我又將geting值「test」。這意味着價值沒有被覆蓋。爲什麼?

+0

'file'是在你的函數範圍之外聲明的對象的名字嗎? –

+0

你能提供更多的代碼嗎?最好能看到有效的例子。您可以使用jsfiddle.com或jsbin.com – Microfed

+0

我們需要更多的上下文 – epascarello

回答

0

所有其他條件相同,這將正常工作:

var x = { 
 
    success: function(file, data) { 
 
    file.name = data; 
 
    console.log(data); 
 
    console.log(file.name); 
 
    console.log(file); 
 
    } 
 
} 
 

 
x.success({ 
 
    name: "Hello" 
 
}, "World");

...如果它不那麼name屬性將是隻讀,並沒有太多可以要做的就是使用不同類型的對象。

+0

在這種情況下,他可以創建對象的深層副本,但不能讀取。 –