JavaScript 면접 문제 총화 시리즈 (2)
2682 단어 자바 script
2.1 내장 대상
2.2 대상 을 정의 하 는 방식
2.3 new 방식 과 글자 의 양 을 통 해 대상 을 만 드 는 것 과 차이 점
2.4 두 대상 이 서로 같다 고 판단 하 는 방법
문자열 로 변환 하여 판단 할 수 있 습 니 다.예:
obj = {
a: 1,
b: 2
}
obj2 = {
a: 1,
b: 2
}
obj3 = {
a: 1,
b: '2'
}
JSON.stringify(obj) == JSON.stringify(obj2);//true
JSON.stringify(obj) == JSON.stringify(obj3);//false
2.5 new 연산 자
new 연산 자 를 호출 하 는 과정 에서 다음 과 같은 네 가지 절 차 를 실 행 했 습 니 다.
let obj = new Object();
let Con = [].shift.call(arguments);
obj.__proto__ = Con.prototype
3. 귀속: apply;4. 새로운 대상 으로 돌아 가기;
한 마디 로 말 하면:
new 연산 자 는 빈 대상 을 새로 만 들 었 습 니 다. 이 대상 의 원형 은 구조 함수 의 prototype 을 가리 키 며 구조 함 수 를 실행 한 후 이 대상 으로 돌아 갑 니 다.
2.6 얕 은 복사 와 깊 은 복사
얕 은 복사 와 깊 은 복사, 여 기 는 보통 한 대상 A 를 다른 변수 B 에 할당 하 는 것 을 말한다.A 가 수정 할 때 B 도 따라서 변화 하면 이것 이 바로 얕 은 복사 이 고 B 가 변화 가 없 으 면 이것 을 깊 은 복사 라 고 한다.
let a = [1, 2, 3];
let b = a;
a[0] = 4;
b[0] // 4
let a = {
age: 1
}
let b = Object.assign({}, a)
a.age = 2
console.log(b.age) // 1
2. 연산 자 를 펼친다.예:
let a = {
age: 1
}
let b = {...a}
a.age = 2
console.log(b.age) // 1
3. JSON 방법:
주로 JSON. parse () 와 JSON. stringify () 의 조합 을 통 해 깊 은 복사 가 이 루어 집 니 다.예:
let a = {
age: 1,
jobs: {
first: 'FE'
}
}
let b = JSON.parse(JSON.stringify(a))
a.jobs.first = 'native'
console.log(b.jobs.first) // FE
4. jQuery 의 extend () 방법 은 현재 프로젝트 에서 jQuery 를 사용 하 는 것 이 상대 적 으로 적 기 때문에 사용 할 때 이 API 를 따로 찾 을 수 있 습 니 다.5. 이것 은 주로 대상 을 대상 으로 하 는 요소 가 1 차원 요소 가 아니 라 요소 자체 도 대상 이나 배열 일 수 있 고 심지어 서브 요소 의 서브 요소 도 대상 이나 배열 일 때 근본적으로 깊 은 복사 를 실현 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.