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