> 웹 프론트엔드 > JS 튜토리얼 > 자바스크립트에서 부정하고 다시 부정하는 것은 의미가 없습니다_javascript 기술

자바스크립트에서 부정하고 다시 부정하는 것은 의미가 없습니다_javascript 기술

WBOY
풀어 주다: 2016-05-16 16:53:15
원래의
1304명이 탐색했습니다.

연산자~는 비트 단위 부정을 의미합니다. 표면적으로는 ~~(역순 다음 부정)은 의미가 없습니다. 실제로 JS에서는 부동 소수점 숫자를 정수로 변환할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

script>
var myArray();
myArray.push("a")
myArray.push("c"); 🎜>myArray .push("d");

//이제 배열에서 요소를 무작위로 꺼내야 합니다.
var random = myArray[~~(Math.random()*myArray. length)]; // Math.random()은 0과 1 사이의 의사 난수를 반환합니다. 이는 0일 수 있지만 항상 1보다 작습니다. [0,1)

var i = 7.94; 🎜>i = ~~i ;
alert(i);

var j = 7.34;
j = ~~j






위와 같이 ~~가 없으면 소수점 이하 부분은 임의로 구합니다. 제거되어 정수가 남습니다. 위와 같이 i=7, j=7이다. 그러나 이 메커니즘은 C에는 존재하지 않습니다. 부동 소수점 숫자(float)는 C에서 비트 단위로 반전될 수 없으며 강제 유형 변환은 C에서 사용할 수 있습니다(그러나 JS에는 그러한 메커니즘이 없습니다. 부동 소수점 숫자는 정수로 변환됩니다. . )는 동일한 목적을 달성합니다(소수 부분을 버리고 정수 부분을 유지함).


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿