답변
1
는 0000...0001
2
가 0000...0010
i
는 아마도 INT의 비트로 설정된 플래그 세트를 저장이다.
i & 1
마지막 비트가 설정되어 있고 i & 2
이 이전 비트를 테스트하는지 단순히 테스트합니다. the MDN on bitwise operators을 참조하십시오.
당신은이 시스템을 사용하여 자바 스크립트 수의 약 52 플래그를 저장할 수
이i = 0; // no flag
i |= 4; // sets a flag
i |= 1<<2; // sets the same flag but is more readable
var bool = i & 4; // truish if the flag is set
그래서 코드는 다음과 수행을 : 표현 i & 1 ? k : -k
가 있는지 여부에 따라 k
또는 -k
중 하나로 평가
if i has flag 1 then o.y += k else o.y += -k
if i has flag 2 then o.x += k else o.x += -k
이것은 짝수/홀수 테스트 일 수 있습니까? (나는 좋은 테스트라고 말하고 싶지 않다.) 만약 이상하다면, k에 의해 oy가 증가한다. k에 의해 oy가 감소한다. –
아니, 두 번째 테스트는 기이 한 것으로 볼 것이 없으며, 실제로는 플래그 저장 장치처럼 보인다. C에서). –
i & 1
은 true
으로 평가됩니다.
연산자는 연산자 사이에 'and'비트를 사용하므로 첫 번째 조건은 최하위 비트가 설정되어 있는지 확인하고 두 번째 조건은 두 번째 최하위 비트가 설정되어 있는지 확인합니다.
nodes.forEach(function(o, i) {
if (i & 1) {
o.y += k;
} else {
o.y -= k;
}
if (i & 2) {
o.x += k;
} else {
o.x -= k;
}
});
- 1. 클로저 기능이 어떻게 작동하는지 이해하지 못합니까?
- 2. 속기가
- 3. 내가이 예 가능성이 작동하는 방법을 이해하지 못하는
- 4. 이 C++ 방법이 어떻게 작동하는지 이해하지 못하고 비슷한 것을하고 싶습니다.
- 5. 레일 컬렉션 도움. 그것이 어떻게 작동하는지 이해하지 못합니다.
- 6. 마이그레이션 속기가
- 7. 내가이 경고를 이해하지 못하는 제네릭 클래스
- 8. 내가이 NPE를 얻는 이유를 이해하지 않습니다에 AlertDialog
- 9. 이 코드 조각이 어떻게 작동하는지
- 10. 루비에서 어떻게 작동하는지 확인
- 11. Qt는의 출력이 어떻게 작동하는지
- 12. 기능이 작동하는지 어떻게 감지합니까?
- 13. 어떻게 작동하는지 모르십니까? KnockOutJS
- 14. 어떻게 popToRootViewControllerAnimated가 작동하는지 확인합니까?
- 15. CSS 속기가 있습니까?
- 16. angular.element의 속기가 있습니까?
- 17. CSS 속기가 사용 가능합니까?
- 18. 힘내 경고 : 구성 원격 속기가 '/'
- 19. 젠토 컬렉션 캐치 - 22 정말 너무 희망이 간단한 질문은, 어떻게 작동하는지 젠토 컬렉션을 이해하지 못하는
- 20. setRetainInstance (또는 Xamarin Android 안의 RetainInstance)가 어떻게 작동하는지 이해하지 못합니까?
- 21. paintComponent가 Java에서 어떻게 작동하는지 이해할 수 없습니다.
- 22. 포트 포워딩이 작동하는지 어떻게 테스트해야합니까?
- 23. 소멸자가 어떻게 작동하는지 오해 하시겠습니까?
- 24. ajc가 javac와 어떻게 작동하는지 혼동했습니다.
- 25. 조립 절차가 작동하는지 어떻게 테스트해야합니까?
- 26. sling rewriter가 어떻게 작동하는지 설명합니다.
- 27. Apache 캐싱이 작동하는지 어떻게 확인합니까?
- 28. 세마포어는 이전보다 어떻게 작동하는지 알았습니다.
- 29. 블록이있는 UIView 애니메이션이 어떻게 작동하는지
- 30. cakePHP에서 Configure :: write가 어떻게 작동하는지
이의 어떤 부분이 문제가된다 :
코드와 동일합니까? 그것은'a? b : c' (삼항 연산자)? 아니면'&'(비트와)입니까? – mwcz
@mwcz : 그것은 [조건부 연산자]입니다 (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator). –
@MarcelKorpel Guffa의 대답은 그것을 설명합니다 :) – mwcz