この記事では、JavaScript プログラミングでバグが発生しやすいヒントを 8 つまとめて紹介しています。この記事は、理解していないとプログラミングで問題が発生する可能性があるため、参考にしてください。 🎜>
JavaScript は今日最も人気のあるプログラミング言語の 1 つですが、その人気は言語自体のさまざまな機能の副作用でもあり、その言語がどれほど美しくても、依然として何千人もの人々が使用しています。それは毎日、何万人ものプログラマーが大量のバグを作成しました。まだ他人を笑わないでください。もしかしたらあなたもその一人かもしれません。 例として、完全に有効な短い 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
2 です。文字列接続
("foo" + + "bar") === "fooNaN" //true "why I am " + typeof + "" // why I am number
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
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 ビデオ チュートリアル にアクセスして、関連チュートリアルをご覧ください。