如何覆盖对象的属性值的JavaScript
问题描述:
我有功能低于如何覆盖对象的属性值的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”。这意味着价值没有被覆盖。为什么?
答
所有其他条件相同,这将正常工作:
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
在这种情况下,他可以创建对象的深层副本,但不能读取。 –
'file'是在你的函数范围之外声明的对象的名字吗? –
你能提供更多的代码吗?最好能看到有效的例子。您可以使用jsfiddle.com或jsbin.com – Microfed
我们需要更多的上下文 – epascarello