parseInt()関数がどのように機能し、基数パラメーターとは何かを誰かが説明できますか?
ケーススタディとして、私はこのコードスニペットを理解しようとしています。
var maxChars = parseInt( formField.attr('maxlength') ? formField.attr('maxlength') : counter.text() );
このコードがどのように機能するかについても説明できますか? formField.attr( 'maxlength')が2回あるのはなぜですか?ここでの演算子の使用はかなり混乱します!
この例では、基数パラメータはどのように機能しますか?
radix
はbase
の別名です。つまり、2進数の場合は2、10進数の場合は10、16進数の場合は16です。詳細については、 Mozilla Developer Networkサイト で説明されています。
あなたの例には基数パラメーターがないため、インタープリターはデフォルトの動作にフォールバックします。これは通常、数値が10進数で始まらない限り10進数として扱われます。ゼロ(8進数)または0x
(16進数)。
ECMAスクリプト5では、文字列が0で始まり、基数が指定されていない場合、デフォルトの動作は10進数です(以前のバージョンでは8進数でした)。
parseIntは2つのパラメーターを取り、2番目のパラメーターはオプションです。文字列と基数。
Stringは解析する値です。指定された値が文字列でない場合は、文字列に変換されます。
Radixは、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回存在します。