이 글은 자바스크립트 프로그래밍에서 버그가 발생하기 쉬운 몇 가지 팁을 주로 소개합니다. 이 글은 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 비디오 튜토리얼을 방문하여 더 많은 관련 튜토리얼을 확인하세요!