JS 개발 애플리케이션에서는 일반적으로 "|" 및 "||"를 접하게 되는데, 작업에서 "|"는 무엇을 의미합니까?
js 정수 연산에서는 소수점(parseInt)을 제거하는 것과 같습니다. 양수인 경우 Math.floor()와 동일하고, 음수인 경우 Math.ceil()과 동일합니다. 참고:
1 Math.ceil()이 사용됩니다. 반올림합니다.
2. Math.floor()는 내림에 사용됩니다.
3. Math.round() 반올림은 우리 수학에서 흔히 사용됩니다.
console.log(0.6|0)//0
console.log(1.1|0)//1
console.log(3.65555|0)//3
콘솔. log(5.99999|0)//5
console.log(-7.777|0)//-7
단일 막대와 수직 막대의 산술 규칙
위의 예를 살펴본 후 , 일반적으로 우리는 반올림 작업에 단일 수직 막대를 사용할 수 있다는 것을 알고 있습니다. 즉, 양수 부분만 유지되고 소수 부분은 제거됩니다. 그런데 "|0"은 어떻게 계산됩니까? 반올림의 목적을 달성합니까? 가로 막대와 세로 막대가 0이 아니면 무엇입니까?
이러한 질문에 대해 다음 예를 살펴보겠습니다.
console.log(3|4) //7
console.log(4|4);//4
console.log(8|3);//11
console.log(5.3|4.1);//5
console.log(9|3455);//3455
여기에는 단일 수직 막대 "|"가 언급되어 있지만 자바스크립트는 없습니다.
여기서 답변을 발표하겠습니다. 실제로 단일 세로 막대 "|"는 이진수로 변환한 후 추가한 결과입니다. 예를 들어 간단한 예를 들어보겠습니다.
3|4
바이너리로 변환한 후 011|100을 추가하여 111=7
4|4
을 얻습니다. 바이너리로 변환한 후 100 | 100을 추가하여 100=4
8|3
을 얻은 후 1000 |011을 추가하여 1011=11
을 얻습니다. 여기에는 나열되지 않습니다. 단일 수직 막대 "|" 작업은 바이너리로 변환된 후 추가된 결과입니다.
JS 이중 수직 막대 연산자
1. JS 이중 수직 막대 연산자: 예 또는 null||'1'과 같은 경우 '1';'2'||'를 반환합니다. ', '2'를 반환합니다. 즉, OR 연산자에서 첫 번째는 true이고 다음은 계산할 필요가 없으므로 '2'를 얻습니다.
2. js에서 이중 수직 막대 연산자를 사용하여 첫 번째 유효한 값을 반환합니다.
var objTwo = new Date();
var objThree = objOne || objTwo;
alert(objThree.toString());
첫 번째 지점에서 언급한 첫 번째 지점이 나타나는 것은 바로 비트 연산자이기 때문입니다. 결과를 얻으려면 항상 두 피연산자를 비교해야 하므로 성능이 저하됩니다. && 및 ||보다 낮습니다.