JavaScriptは今日で最も人気のあるプログラミング言語の1つですが、人気は言語の特性の副作用でもあります。言語がどんなに素晴らしくても、何千人ものプログラマーが毎日たくさんのバグを作ります。今のところ他の人を笑わないでください、多分あなたは彼らの一人です。
ここにいくつかの短く、完全に有効なJSスニペットがあります(コンソールでこれを実験できます):
コードコピーは次のとおりです。
typeof nan === 'number' // true
Infinity === 1/0 // True
0.1 + 0.2 === 0.3 // false、同じことがプレフィックス型の括弧で当てはまります
「3」 + 1 // '31'
"3" -1 // 2
あなたはまだあなたのJavaScriptを信じていますか?
1。JSの最小値
コードコピーは次のとおりです。
number.min_value> 0; //真実
number.min_valueは、JavaScriptが表現できる最小値(5E-324)に使用されますが、JSで最も近い数です。
2。文字列接続
コードコピーは次のとおりです。
( "foo" + + "bar")=== "foonan" // true
「なぜ私は " + typeof +" "//なぜ私が番号であるのか
jsは「foo」 +( + "bar")に分割し、「バー」を数字に変換します
3。Parseint関数
コードコピーは次のとおりです。
parseint('06 '); // 6
parseint('08 '); // 0 Googleの新しいバージョンが修正されたことに注意してください
parseint(null、24)=== 23 // true
4。nullオブジェクトですか?
コードコピーは次のとおりです。
typeof null //オブジェクト
null instanceof object // false
5。コンテンツを返します
コードコピーは次のとおりです。
functionmyjson()
{
戻る
[
2
]
}
myjson(); // 未定義
返品によって返されるコンテンツは、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
999999999999999999 // 10000000000000000000
99999999999999999999-1 // 10000000000000000000
11111111111111111111111111 // 111111111111111111110000
7。奇妙なパラメーター
コードコピーは次のとおりです。
function hello(何){
アラート(引数[0]); //ヴィッキー
what = "world";
「Hello」を返し、 +引数[0] + "!";
}
こんにちは( "Vicky"); //"こんにちは世界!"
8。人々が頭を失わせる等しい兆候
コードコピーは次のとおりです。
nan === nan; // 間違い
[] == false; // 真実
"" == false; // 真実
null == false; // 間違い
[] ==![] // true
window.window == window // true
window.window === window // false、一部のブラウザは真です
window == document // true、一部のブラウザはfalseです
( "0" && {})== 0 // false
(0 && {})== 0 // true
0 == "0" // true
[] == 0 // true