자 바스 크 립 트 두 변수 교환 값 의 실현 방법
본 고 는 주로 중간 값 을 사용 하지 않 고 두 변수의 값 을 교환 하 는 방법 을 설명 한다.
일반 방법
var a = 1,
b = 2,
tmp;
tmp = a;
a = b;
b = tmp;
일반적인 방법 은 임시 변수 tmp 를 하나 더 설명 하고 데이터 교환 과정 에서 캐 시 를 하 는 것 입 니 다.이런 방법 은 직관 적 이 고 이해 하기 쉽다.하지만 메모리 사용 이 늘 어 납 니 다.산술 연산
var a = 1,
b = 2;
a = a + b; // a = 3, b = 2
b = a - b; // a = 3, b = 1
a = a - b; // a = 2, b = 1
산술 연산 과정 중의 기 교 를 통 해 두 값 을 교묘 하 게 교환 할 수 있다.그러나 변수 데이터 가 넘 치 는 단점 이 있다.자 바스 크 립 트 가 숫자 를 저장 할 수 있 는 정밀도 범 위 는-253 에서 253 이기 때문이다.따라서 덧셈 연산 은 넘 치 는 문제 가 있 을 수 있다.3.이 또는 연산
var a = 1, // :0001
b = 2; // :0010
a = a ^ b; // :a = 0011, b = 0010
b = a ^ b; // :a = 0011, b = 0001
a = a ^ b; // :a = 0010, b = 0001
이 문 제 는 비트 연산 의 기 교 를 교묘 하 게 사용 하여 a^b^b==a 의 특징 을 이용 하여 수치 교환 을 하여 산술 연산 으로 인 한 단점 을 피하 고 넘 치 는 문제 가 발생 하지 않 습 니 다.4.ES6 의 해체
let a = 1,
b = 2;
[a, b] = [b, a];
해체 의 문법 적 특성 으로 한꺼번에 해결,단순 폭력,하하 하~더 중요 한 것 은 재 구성 문법 은 다른 유형의 변 수 를 교환 하 는 데 도 적합 하 다.그래서 재 구성 으로 쉽게 교환 할 수 있 습 니 다.
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.