JS 얕 은 복사 와 깊 은 복사
var arr1 = [1,2,3,4];
arr2 = arr1;
arr2.push(5);
console.log(arr1);//[1,2,3,4,5]
2. 대상 의 얕 은 복사
function copy(obj){
var tempObj = {};
for(var i in obj){
tempObj[i] = obj[i]; //
}
return tempObj
}
var Person = {
name:'person',
skills:['g','s','m']
}
var newPerson = copy(Person);
console.log(Person.skills ) ;//['g','s','m'];
newPerson.skills.push('b');
console.log(Person.skills); // ['g','s','m','b']; ,
console.log(newPerson .skills); // ['g','s','m','b'];
2. 대상 의 깊 은 복사 (얕 은 복사 에 재 귀적 호출)
function deepCopy(obj, newObj) {
var tempObj= newObj || {};
for (var i in obj) {
if (typeof obj[i] === 'object') {
tempObj[i] = (obj[i].constructor === Array) ? [] : {};
deepCopy(obj[i], tempObj[i]);
} else {
tempObj[i] = obj[i];
}
}
return tempObj;
};
var Person = {
name:'person',
skills:['g','s','m']
}
var newPerson = deepCopy(Person);
console.log(Person.skills ) ;//['g','s','m'];
newPerson.skills.push('b');
console.log(Person.skills); // ['g','s','m'];
console.log(newPerson .skills); // ['g','s','m','b'];
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.