-1

parseInt('08', 10)文字列から整数への変換ごとに毎回使用したくないのですが、

メソッドを変更して、。の代わりにparseIntのみ使用できるようにすることはできますか?parseInt('08')parseInt('08', 10)

4

3 に答える 3

5

組み込み関数を変更する代わりにparseInt、次のように独自の関数を定義できます。

function prseInt(n)
{
    return parseInt(n, 10);
}

parseInt(n, 10)そして、アプリで使用したすべてのオカレンスをに置き換えますprseInt(n)

それでも再定義したい場合は、次のように実行できます。

var origParseInt = parseInt;
parseInt = function(n) {
     return origParseInt(n, 10);
}

そしてそれは動作します!

フィドル: http: //jsfiddle.net/QKKwv/

于 2012-10-12T07:36:02.693 に答える
0

+文字列の前に演算子を使用するだけで、型強制を実行できます(呼び出す必要はありませんparseInt()) 。

var str = "08";
var num = +str;

console.log(num, typeof num);  // 8, number
于 2012-10-12T07:36:08.810 に答える
0

parseInt(xx)(つまり、基数パラメーターなしで)99%の時間で完全に正常に機能します。それが行うことは、あなたがどのベースを求めているかを推測しようとすることです。

このような単一の数値の場合、8basse10を正しく推測し、整数8を返します。問題は、必要なものが8進数であると推測するような文字列であり、 「08」を8進数に08変換するとゼロが返されます。

を使用するときは常に基数パラメータを指定する必要がありますparseInt

于 2012-10-12T07:37:36.903 に答える