인용과 심도 복사
1. 인용 유형은 어떤 것들이 있습니까?참조되지 않는 유형
기본 형식 값(수치, 볼 값,null,undefined): 창고 메모리에 저장된 간단한 데이터 세그먼트를 가리킨다.인용 형식 값(대상, 수조, 함수, 정규): 메모리에 저장된 대상을 가리킨다. 변수에 저장된 것은 사실상 하나의 바늘일 뿐이다. 이 바늘은 메모리에 저장된 다른 위치를 실행하고 이 위치에서 대상을 저장한다.string 형식은 좀 특수합니다. 문자열은 가변적인 크기를 가지고 있기 때문에 고정된 크기의 변수에 직접 저장할 수 없습니다.효율성 때문에, 우리는 JS가 문자열의 내용이 아니라 문자열에 대한 인용만 복제하기를 희망합니다.그러나 다른 한편, 문자열은 많은 면에서 기본 유형의 표현과 비슷하지만 문자열은 변할 수 없다는 사실(즉 하나의 문자열 값의 내용을 바꿀 수 없다는 것)이기 때문에 문자열을 기본 유형과 비슷한 변할 수 없는 인용 유형으로 볼 수 있다.
2. 다음 코드는 무엇을 출력합니까?무엇 때문에 var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2);// 。false
console.log(obj1 = obj2);// obj2 obj1,
console.log(obj1 == obj2);// , 。ture
3. 다음 코드는 무엇을 출력합니까?무엇 때문에 var a = 1
var b = 2
var c = { name: ' ', age: 2 }
var d = [a, b, c]
var aa = a
var bb = b
var cc = c
var dd = d
a = 11
b = 22
c.name = 'hello'// c.name
d[2]['age'] = 3 // c.age
console.log(aa) //1
console.log(bb) //2
console.log(cc)//Object {name:'hello',age:3}==> ,
console.log(dd)//[a,b,Object]
4. 다음 코드는 무엇을 출력합니까?무엇 때문에 var a = 1
var c = { name: 'jirengu', age: 2 }
function f1(n){
++n
}
function f2(obj){
++obj.age
}
f1(a)
f2(c)
f1(c.age)
console.log(a) //1, f1,a 。
console.log(c)//Object{name:'jirengu',age:3},
f2(c), ,obj ,C , c ,age 3 ;f1(c.age), c age , , c age 。c.age 3。
5. 다음 수조를 필터하여 정수만 남기고 원수조에서 직접 조작 var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
for(var i in arr){
if(arr[i]<=0){
arr.splice(i,1);
filter(arr);
}
}
return arr;
}
filter(arr)
console.log(arr) // [3,1,2]
6. 다음 수조를 필터하여 정수만 보존하고 원수조는 변하지 않으며 새 수조를 생성합니다 var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
var j=0;
var newArr=[];
for(var i in arr){
if(arr[i]>0){
newArr[j]=arr[i];
j++;
}
}
return newArr;
}
var arr2 = filter(arr)
console.log(arr2) // [3,1,2]
console.log(arr) // [3,1,0,-1,-2,2,-5]
7. 깊이 복사 함수를 써서 두 가지 방식으로 실현 //
function clone(obj){
var newObject={};
for (var key in obj) {
if(typeof obj[key] === 'number'||typeof obj[key] === 'boolean'||typeof obj[key] === 'string'||obj[key] ===undefined||obj[key] === null){
newObject[key]=obj[key];
} else{
newObject[key]=clone(obj[key])
}
}
return newObject;
}
var cloneObj = JSON.parse(JSON.stringify(obj));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2);// 。false
console.log(obj1 = obj2);// obj2 obj1,
console.log(obj1 == obj2);// , 。ture
3. 다음 코드는 무엇을 출력합니까?무엇 때문에 var a = 1
var b = 2
var c = { name: ' ', age: 2 }
var d = [a, b, c]
var aa = a
var bb = b
var cc = c
var dd = d
a = 11
b = 22
c.name = 'hello'// c.name
d[2]['age'] = 3 // c.age
console.log(aa) //1
console.log(bb) //2
console.log(cc)//Object {name:'hello',age:3}==> ,
console.log(dd)//[a,b,Object]
4. 다음 코드는 무엇을 출력합니까?무엇 때문에 var a = 1
var c = { name: 'jirengu', age: 2 }
function f1(n){
++n
}
function f2(obj){
++obj.age
}
f1(a)
f2(c)
f1(c.age)
console.log(a) //1, f1,a 。
console.log(c)//Object{name:'jirengu',age:3},
f2(c), ,obj ,C , c ,age 3 ;f1(c.age), c age , , c age 。c.age 3。
5. 다음 수조를 필터하여 정수만 남기고 원수조에서 직접 조작 var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
for(var i in arr){
if(arr[i]<=0){
arr.splice(i,1);
filter(arr);
}
}
return arr;
}
filter(arr)
console.log(arr) // [3,1,2]
6. 다음 수조를 필터하여 정수만 보존하고 원수조는 변하지 않으며 새 수조를 생성합니다 var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
var j=0;
var newArr=[];
for(var i in arr){
if(arr[i]>0){
newArr[j]=arr[i];
j++;
}
}
return newArr;
}
var arr2 = filter(arr)
console.log(arr2) // [3,1,2]
console.log(arr) // [3,1,0,-1,-2,2,-5]
7. 깊이 복사 함수를 써서 두 가지 방식으로 실현 //
function clone(obj){
var newObject={};
for (var key in obj) {
if(typeof obj[key] === 'number'||typeof obj[key] === 'boolean'||typeof obj[key] === 'string'||obj[key] ===undefined||obj[key] === null){
newObject[key]=obj[key];
} else{
newObject[key]=clone(obj[key])
}
}
return newObject;
}
var cloneObj = JSON.parse(JSON.stringify(obj));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
var a = 1
var b = 2
var c = { name: ' ', age: 2 }
var d = [a, b, c]
var aa = a
var bb = b
var cc = c
var dd = d
a = 11
b = 22
c.name = 'hello'// c.name
d[2]['age'] = 3 // c.age
console.log(aa) //1
console.log(bb) //2
console.log(cc)//Object {name:'hello',age:3}==> ,
console.log(dd)//[a,b,Object]
var a = 1
var c = { name: 'jirengu', age: 2 }
function f1(n){
++n
}
function f2(obj){
++obj.age
}
f1(a)
f2(c)
f1(c.age)
console.log(a) //1, f1,a 。
console.log(c)//Object{name:'jirengu',age:3},
f2(c), ,obj ,C , c ,age 3 ;f1(c.age), c age , , c age 。c.age 3。
5. 다음 수조를 필터하여 정수만 남기고 원수조에서 직접 조작 var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
for(var i in arr){
if(arr[i]<=0){
arr.splice(i,1);
filter(arr);
}
}
return arr;
}
filter(arr)
console.log(arr) // [3,1,2]
6. 다음 수조를 필터하여 정수만 보존하고 원수조는 변하지 않으며 새 수조를 생성합니다 var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
var j=0;
var newArr=[];
for(var i in arr){
if(arr[i]>0){
newArr[j]=arr[i];
j++;
}
}
return newArr;
}
var arr2 = filter(arr)
console.log(arr2) // [3,1,2]
console.log(arr) // [3,1,0,-1,-2,2,-5]
7. 깊이 복사 함수를 써서 두 가지 방식으로 실현 //
function clone(obj){
var newObject={};
for (var key in obj) {
if(typeof obj[key] === 'number'||typeof obj[key] === 'boolean'||typeof obj[key] === 'string'||obj[key] ===undefined||obj[key] === null){
newObject[key]=obj[key];
} else{
newObject[key]=clone(obj[key])
}
}
return newObject;
}
var cloneObj = JSON.parse(JSON.stringify(obj));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
for(var i in arr){
if(arr[i]<=0){
arr.splice(i,1);
filter(arr);
}
}
return arr;
}
filter(arr)
console.log(arr) // [3,1,2]
var arr = [3,1,0,-1,-3,2,-5]
function filter(arr){
var j=0;
var newArr=[];
for(var i in arr){
if(arr[i]>0){
newArr[j]=arr[i];
j++;
}
}
return newArr;
}
var arr2 = filter(arr)
console.log(arr2) // [3,1,2]
console.log(arr) // [3,1,0,-1,-2,2,-5]
7. 깊이 복사 함수를 써서 두 가지 방식으로 실현 //
function clone(obj){
var newObject={};
for (var key in obj) {
if(typeof obj[key] === 'number'||typeof obj[key] === 'boolean'||typeof obj[key] === 'string'||obj[key] ===undefined||obj[key] === null){
newObject[key]=obj[key];
} else{
newObject[key]=clone(obj[key])
}
}
return newObject;
}
var cloneObj = JSON.parse(JSON.stringify(obj));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
//
function clone(obj){
var newObject={};
for (var key in obj) {
if(typeof obj[key] === 'number'||typeof obj[key] === 'boolean'||typeof obj[key] === 'string'||obj[key] ===undefined||obj[key] === null){
newObject[key]=obj[key];
} else{
newObject[key]=clone(obj[key])
}
}
return newObject;
}
var cloneObj = JSON.parse(JSON.stringify(obj));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.