JS 개발 애플리케이션에서는 일반적으로 "|" 및 "||"를 접하게 되는데, 작업에서 "|"는 무엇을 의미합니까? 이 글에서는 주로 js 연산자 단일 수직 막대 "|" 및 "||"의 사용법에 대한 자세한 설명을 소개합니다.
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 console.log(5.99999|0)//5 console.log(-7.777|0)//-7
단일 수직 막대에 대한 연산 규칙
위의 예를 읽은 후 우리는 일반적으로 단일 수직 막대를 반올림 연산에 사용할 수 있다는 것을 알 수 있습니다. 즉, 양수 부분만 유지되고 소수 부분은 유지됩니다. 제거되었지만 "|0"은 어떻게 수행됩니까? "|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'은 '2'||'1'을 반환합니다. 즉, OR 연산자에서 첫 번째가 true이면 다음은 계산할 필요가 없으므로 '2'를 얻습니다.
2. 첫 번째 유효한 값을 반환하려면 js에서 이중 수직 막대 연산자 "||"를 사용하세요. &&가 false이면 두 번째 피연산자는 고려되지 않고 false가 직접 반환됩니다. ||의 첫 번째 피연산자가 true이면 두 번째 피연산자는 고려되지 않고 false가 직접 반환됩니다. & 및 | 연산자의 경우에는 결과를 얻기 위해 항상 두 피연산자를 비교해야 하므로 && 및 ||의 성능이 더 좋습니다.
함수 사용법
&& 및 ||는 논리 연산만 수행할 수 있는 반면, & 및 |는 "논리 연산"뿐만 아니라 비트 연산도 수행할 수 있습니다.
& 및 | JS는 형식이 없는 언어이고 각 데이터 유형을 자유롭게 변환할 수 있으므로 연산자는 "논리 연산"을 수행할 수 있으며, "논리 연산"을 수행할 때 실제로는 true가 0으로 변환되고, 그런 다음 비트 연산이 수행됩니다.var objOne = undefined || 1 || null || new Date(); var objTwo = new Date(); var objThree = objOne || objTwo; alert(objThree.toString()); //out put "1"
위 문장의 예는 다음 비트 연산으로 변환되어 실행되는 논리 연산과 동일합니다.
document.write(true & false); //JS,结果为0이는 정확히 &와 | 비트 연산자의 경우 첫 번째 지점에서 언급한 내용이 나타납니다. 결과를 얻으려면 항상 두 피연산자를 비교해야 하므로 && 및 ||보다 성능이 저하됩니다.
위 내용은 모두를 위해 제가 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다. 관련 기사:
nodejs
에서 비밀번호를 암호화하는 방법은 무엇입니까? 솔루션
위 내용은 js 연산자 단일 수직 막대 '|' 사용에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!