Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 指定新对象并保留引用?_Javascript_Typed Arrays - Fatal编程技术网

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