JavaScript 프로그래밍에서 쉽게 버그를 일으키는 방법에 대한 몇 가지 팁

PHPz
풀어 주다: 2018-09-29 15:58:42
원래의
1647명이 탐색했습니다.

이 글은 자바스크립트 프로그래밍에서 버그가 발생하기 쉬운 몇 가지 팁을 주로 소개합니다. 이 글은 8가지 팁을 요약한 것입니다. 이 팁을 이해하지 못하면 프로그래밍에 문제가 생기고 버그가 발생할 수 있습니다.

JavaScript는 오늘날 가장 인기 있는 프로그래밍 언어 중 하나이지만, 그 인기는 언어 자체의 다양한 기능에 따른 부작용이기도 합니다. 언어가 아무리 아름답더라도 여전히 수천 명의 사람들이 사용하고 있습니다. 매일 수만 명의 프로그래머가 수많은 버그를 만들어냈습니다. 아직 다른 사람들을 비웃지 마십시오. 아마도 당신도 그들 중 하나일 것입니다.

예를 들어 다음은 완전히 유효한 몇 가지 짧은 JS 스니펫입니다(콘솔에서 사용해 볼 수 있음).

typeof NaN === 'number' // true
 
Infinity === 1/0        // true
0.1 + 0.2 === 0.3       // false,前面加括号也一样
"3" + 1                 // '31'  
"3" - 1                 // 2
로그인 후 복사

아직도 믿으시나요? 당신만의 자바스크립트인가요?

1. JS에서 가장 작은 값

Number.MIN_VALUE > 0; //true
로그인 후 복사

Number.MIN_VALUE는 JavaScript가 표현할 수 있는 가장 작은 값인 5e-324에 사용되지만, JS에서 가장 가까운 숫자 0

2. 문자열 연결

("foo" + + "bar") === "fooNaN"  //true
"why I am " + typeof + ""       // why I am number
로그인 후 복사

JS는 "foo"("bar")로 구문 분석되어 변환됩니다. "bar"를 숫자로 변환

3.parseInt 함수

parseInt('06'); // 6
parseInt('08'); // 0  注意,谷歌新版已修正
parseInt(null, 24) === 23 // true
로그인 후 복사

4. null이 객체입니다

typeof null  // object
null instanceof Object  // false
로그인 후 복사

5. return으로 반환된 내용

function myjson()
{
   return
   [
     2
   ]
}
myjson();  // undefined
로그인 후 복사

return으로 반환된 내용은 return과 같은 줄에 있어야 합니다

6.

 012  == 12  // false
'012' == 12  // true
 "3" + 1     // '31'
 "3" - 1     // 2
0.1 + 0.2 == 0.3 // false
0.1 + 0.7 == 0.8 // false
0.2 + 0.7 == 0.9 // false
9999999999999999 // 10000000000000000
9999999999999999-1 //10000000000000000
111111111111111111111 // 111111111111111110000
로그인 후 복사

7. 이상한 매개변수

function hello(what) {
     alert(arguments[0]);    //vicky
     what = "world";
     return "Hello, " + arguments[0] + "!";
}
hello("vicky"); //"Hello, world!"
로그인 후 복사

8. 머리를 긁는 등호

NaN === NaN;   // false
[] == false;   // true
"" == false;   // true
null == false; // false
[] == ![]      // true
window.window == window  // true
window.window === window // false,有些浏览器是true
window == document       // true,有些浏览器是false
("0" && {}) == 0 // false
(0 && {}) == 0   // true
0 == "0"         // true
[] == 0          // true
로그인 후 복사

끝입니다. 이 장의 전체 내용을 보려면 JavaScript 비디오 튜토리얼을 방문하여 더 많은 관련 튜토리얼을 확인하세요!

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