Javascript 指定新对象并保留引用?
考虑这一点:Javascript 指定新对象并保留引用?,javascript,typed-arrays,Javascript,Typed Arrays,考虑这一点: var o = { a: 1 } read(o); write(o); read(o); function read(x) { console.log(x); } function write(x) { x = { a: 2 }; } 显然,结果是: Object { a=1 } Object { a=1 } write函数通过指定新对象来销毁对对象的引用。有没有一种方法既可以指定一个新对象,又可以保留引用?我需要这个来连接两个数组。据我所知,如果不创建新的Flo
var o = { a: 1 }
read(o);
write(o);
read(o);
function read(x) {
console.log(x);
}
function write(x) {
x = { a: 2 };
}
显然,结果是:
Object { a=1 }
Object { a=1 }
write函数通过指定新对象来销毁对对象的引用。有没有一种方法既可以指定一个新对象,又可以保留引用?我需要这个来连接两个数组。据我所知,如果不创建新的Float32Array,就不可能对它们进行concat。还是有一个?它们应该是快的,但对我来说,如果我总是要创建一个新的,如果我想要组合两个片段,那么它看起来相当慢。但这可能是另一个问题。这个问题怎么样:
function overwrite(x,y){
for (var prop in y) {
if( y.hasOwnProperty(prop) ) {
x[prop] = y[prop];
}
}
}
示例:覆盖(o,{a:2})代码>(ES6)要将一个数组中的值插入到键入的数组中,从任意索引开始,请尝试
这不是您从这个代码中得到的结果。JS是一种传递值语言。您的write
函数无法按预期工作。对不起,这两个函数都是输入错误!!“源数组中的所有值都复制到目标数组中,除非源数组的长度加上偏移量超过目标数组的长度”。因此,创建后不能更改Float32Array的长度。
// dest ... destination typed array
// scr ... array like object with elements to add
dest.set(src, dest.length); // append src elements to dest typed array