33

parseInt()関数がどのように機能し、基数パラメーターが何であるかを誰かが説明できますか?

ケーススタディとして、私はこのコードスニペットを理解しようとしています。

var maxChars = parseInt( formField.attr('maxlength') ? formField.attr('maxlength') : counter.text() );

このコードがどのように機能するかについても説明できますか?formField.attr('maxlength')が2回あるのはなぜですか?ここでの演算子の使用はかなり混乱します!

この例では、基数パラメータはどのように機能しますか?

4

3 に答える 3

47

これradixはの別名です。つまり、2はバイナリ、10は10進数、16は16進数です。これについては、 MozillaDeveloperNetworkサイトbaseで詳しく説明されています。

この例では、基数パラメーターがないため、インタープリターはデフォルトの動作にフォールバックします。これは、ゼロ(8進数)または(16進数)で始まらない限り、通常、数値を10進数として扱います0x

于 2012-05-01T14:06:32.770 に答える
4

ECMAスクリプト5では、文字列が0で始まり、基数が指定されていない場合、デフォルトの動作は10進数です(8進数であった以前のバージョンとは対照的です)。

出典:Mozilla Developer NetworkのparseInt()

于 2014-06-04T19:48:04.360 に答える
-1

parseInt2つのパラメーターを取り、2番目のパラメーターはオプションです。文字列と基数。

文字列は解析する値です。提供された値が文字列でない場合は、文字列に変換されます。

基数は2から36までの整数で、上記の文字列の基数(数式の基数)を表します。

コードスニペットでは、基数は指定されておらず、デフォルトは16であると想定されています。

var maxChars = parseInt( formField.attr('maxlength') ? formField.attr('maxlength') : counter.text() );

「maxChars」という変数を定義しています。この変数は、短縮形のIFステートメントの評価と同じです。

「maxLength」と呼ばれるセレクター「formField」であることが期待される変数から属性を取得しています。値は整数として返され、デフォルトの基数にフォールバックします。

IFステートメントは、戻り値がtrueかfalseかをチェックします。0、false、ectceteraは、変数「maxChars」の値が「counters」結合テキストに設定される結果になります。trueの場合、変数は「maxLength」と呼ばれるセレクター「formField」属性として設定されます。

formField.attr('maxlength')

1つはIFステートメントの評価で使用され、もう1つはIFステートメントの条件がTRUEの場合の値として使用されるため、2回存在します。

于 2015-08-02T18:09:30.717 に答える