インターネットに追加されたVs連結の質問がたくさんありますが、私はなぜ私が振る舞っているのか分かりません。私は明らかな文字列を "追加"しようとしていないと私はparseInt
とparseFloat
すべての値を無駄にしようとしました。私は数値表現を含むdata-page
属性から値を取得する必要があります(私はおそらく暗黙的な文字列として認識しています)。 data-page
属性から値を取得している限り、変数に追加を実行できません。私がハードコード1
で置き換えると、すべて正常に動作します。値は常に整数でなければなりませんが、私は同じ動作をしたかどうかを確認するためにparseFloat
を試しました。私はそれをしました。珍しいJavaScriptの追加と連結の振る舞い
いくつかのサンプルコードは以下のとおりです。 $("#pagination").attr('data-page').trim()
は1
と評価されます。
//Tried parseFloat
//datapage = 1 //This works as expected
dataPage = parseFloat($("#pagination").attr('data-page').trim()); //This does not work as expected
curPage = (parseFloat(dataPage) + parseFloat(1));
console.log(curPage); //Outputs '11' instead of '2'
//Tried parseInt
//datapage = 1 //This works as expected
dataPage = parseInt($("#pagination").attr('data-page').trim());
curPage = (parseInt(dataPage) + parseInt(1));
console.log(curPage); //Outputs '11' instead of '2'
HTMLも投稿できますか?どちらの例も私にとってうまくいきます。 –
私は '** parseFloat'と' parseInt'を使わないコード**は動作しないと思います。とにかく、なぜ 'parseFloat'と' parseInt'を2回呼び出すのでしょうか? –
@MarioAlexandroSantini冗長性のためにparseFloat/parseIntを2回呼び出して、私が得ていると思っていることを確実にします。私は通常、プロダクションコードでそれをしません。 –