JavaScriptがTypeofオペレーターを提供することがわかっているため、考えるのが最も簡単なことは、Typeofを使用して数字タイプのかどうかを判断することです。
コードコピーは次のとおりです。
関数isNumber(obj){
obj === '番号'を返す
}
この関数は、整数と浮動小数点数に問題はありませんが、NAN値にも当てはまります。これにより、人々は不快に感じます。結局のところ、ISNumberを使用して判断した後、誰もNANを使用して算術操作を行うことはありません。
次に、それを改善し、object.prototype.toStringを使用してみてください。
コードコピーは次のとおりです。
関数isNumber(obj){
return object.prototype.tostring.call(obj)=== '[オブジェクト番号]'
}
Typeof判断のように、NANにもtrueを返します。コードの量はまだ大きく、これは望ましい結果ではありません。 toString.callメソッドは、配列(配列)が実行可能であると判断しますが、数字は手の届かないところにあります。
さらなる改善の後、NAN値は対処する機能を備えています。
コードコピーは次のとおりです。
関数isNumber(obj){
return typeof obj === 'number' &&!isnan(obj)
}
今回は、着信数が非番号(NANまたはNANに変換できる値)である場合、FALSEを返します。
コードコピーは次のとおりです。
関数isNumber(obj){
return typeof obj === 'number' &&!isnan(obj)
}
isNumber(1)// true
isNumber(1.2)// true
isNumber(nan)// false
isNumber(parseint( 'a'))// false
まあ、これはいいですが、別の同等のものがあります。
コードコピーは次のとおりです。
関数isNumber(obj){
return typeof obj === 'number' && isfinite(obj)
}
これまで、最短コードの数値判断は、この記事で言及された3番目のコードであり、イスナン関数を使用しています。世界最短の数値判断コードを以下に起動します
コードコピーは次のとおりです。
関数isNumber(obj){
obj === +objを返します
}
整数の場合、浮動小数点数はtrueを返し、nanまたはnanに変換できる値の場合、false。
わかりませんよね? gu ~~()
庭師は、これは世界で最も短い数値コードではなく、パラメーターOBJを1つの文字に変更できると述べました。 (⊙o⊙)あなたは正しいです。
一例から学ぶと、JSダイナミック言語機能の最短使用(オペレーター操作時の内部自動型変換)についても最短の判断が与えられます。
コードコピーは次のとおりです。
//裁判官文字列
関数ISSTRING(OBJ){
OBJを返す=== obj+''
}
// Booleanタイプを判断します
関数isboolean(obj){
obj === !! objを返します
}