想知道怎么才能使类似以下的新旧两个变量(其实是数组)最终变得不同
var person = new Object();
var person2 = person;
person.name = 'jack';
console.log(person.name);//jack
console.log(person2.name);//jack
嗯,其实是想两个新旧数组不同,具体,是因为$dataMap的事件和$gameMap的事件需要用到,想搞个无限生成新事件的脚本,然后姿势不够。
push和slice的用法都自学掌握了一点了,但。。。总之就是姿势不够。
不知道这个问题解决起来复杂不复杂,要是太复杂就算了。
赋值这东西,真发现新的遗漏姿势点呢,虽然冷还被恶心到了
摸索了一个下午的成果是发现新旧变量总是会互相干扰(如果是一开始直接旧的给新的赋值的话),因为作为测试的事件是传送阵,所以最好的结果是,一触发赋值和push,旧传送阵和新传送阵就重叠着一起跑向xy设置的坐标点,没错,真的是跑作者: 仇九 时间: 2022-3-16 19:54
var eventTest1 = $dataMap.events[1];
eventTest1.note = '1';
var eventTest2= JsonEx.makeDeepCopy(eventTest1);
eventTest2.note = '2';
我的想法其实很简单,不复杂,就是你新创建一个子类,让这个子类继承父类就可以,就拿你的代码举例,可以这样改一下:
class Obj{constructor(){}}
var person = new Obj();
person.name = 'jack';
class Person2 extends Obj{}
person2=new Person2()
person2.name='rose'
console.log(person.name + person2.name) //jackrose作者: 仇九 时间: 2022-3-16 22:08
var person = new Object();
person.name = 'jack';
var person2 = JsonEx.makeDeepCopy(person);
person2.name = 'nick';