JS 인터뷰 질문이 있습니다. 질문은 다음과 같습니다. 다음 코드의 실행 결과는 무엇이며 그 이유는 무엇입니까?
코드 사본은 다음과 같습니다.
var i, j, k;
for (i = 0, j = 0; i <10, j <6; i ++, j ++) {
k = i+j;
}
document.write (k);
답은 10을 보여주는 것입니다.이 질문은 주로 JavaScript의 쉼표 운영자를 검사합니다.
다음은 MDN의 쉼표 연산자의 정의입니다.
쉼표 연산자는 두 개의 피연산자 (왼쪽에서 오른쪽으로)를 계산하고 두 번째 피연산자의 값을 반환합니다.
이 정의에 따르면 확장 할 수 있습니다.
쉼표 운영자는 왼쪽에서 오른쪽으로 두 개 이상의 피연산자를 계산하고 마지막 피연산자의 값을 반환합니다.
다음 코드를 느낄 수 있습니다.
코드 사본은 다음과 같습니다.
경고 ((0, 9));
경고 ((9, 0));
if (0,9) Alert ( "OK");
if (9,0) Alert ( "OK");
실제 코드에서 쉼표 연산자의 역할은 무엇입니까?
1. 세 번째 변수가없는 교환 변수
코드 사본은 다음과 같습니다.
var a = "a", b = "b";
// 메소드 1
a = [b] [b = a, 0];
// 방법 2
a = [b, b = a] [0];
2. 코드를 단순화합니다
코드 사본은 다음과 같습니다.
if (x) {
foo ();
리턴 바 ();
}
또 다른{
반환 1;
}
다음과 같이 축약 할 수 있습니다.
코드 사본은 다음과 같습니다.
반환 x? (foo (), bar ()) : 1;