Javascript don';传递函数后不改变对象
为什么myObject发生了变化?我不想更改它问题是对象是通过引用传递的。如果不希望函数修改输入参数,可以在将对象传递给函数之前制作对象的深度副本。或者更好Javascript don';传递函数后不改变对象,javascript,object,constants,Javascript,Object,Constants,为什么myObject发生了变化?我不想更改它问题是对象是通过引用传递的。如果不希望函数修改输入参数,可以在将对象传递给函数之前制作对象的深度副本。或者更好 您应该在myObject下定义foo属性,如下所示 myObject = {foo: foo, bar: bar} function myFunc(obj){ obj.foo = 'new foo'; } myFunc(JSON.parse(JSON.stringify(myObject))); Object.definePr
您应该在
myObject
下定义foo
属性,如下所示
myObject = {foo: foo, bar: bar}
function myFunc(obj){
obj.foo = 'new foo';
}
myFunc(JSON.parse(JSON.stringify(myObject)));
Object.defineProperty(myObject,'foo',{
值:“”
可配置:false,
可写:false,
});
configurable
属性告诉您是否可以删除属性及其属性(可写属性除外)
writeable
属性告诉您是否可以更改属性值。这是什么语言?如果您不想更改它。。。不要改变它。
myObject = {foo: foo, bar: bar}
function myFunc(obj){
obj.foo = 'new foo';
}
myFunc(JSON.parse(JSON.stringify(myObject)));
Object.defineProperty(myObject, 'foo', {
value: '<value u want to put for this object>'
configurable: false,
writable: false,
});