0

重複の可能性:
奇妙な JavaScript 追加の問題

これには明らかに解決策があることを知っており、以前に実行したことがありますが、思い出せず、今は見つけることができません。

​&lt;div>1</div>​​​​​​​​

$(function() {
    var number = $('div').text();
    var math = number + 2;
    $('body').text(math);
});​

http://jsfiddle.net/G5zdx/

numberは整数として扱われないため、mathの値は「3」ではなく「12」です。どうすればこれを修正できますか?

4

3 に答える 3

4

方法はたくさんありますが、

var math = (1 * number) + 2;

は単純なものです。不正な非数値の可能性を検出する必要があるかどうかは、残りのコードの性質によって異なります。

このparseInt()関数は便利ですが、0 で始まる数値を 10 進数ではなく 8 進数として解釈しないように、2 番目の引数として 10 を指定して呼び出す必要があります。また、parseInt()「23skidoo」のような文字列はエラーとして扱われません。これは、アプリケーションで問題ない場合もあります。

于 2012-07-15T15:40:44.320 に答える
2
​&lt;div>1</div>​​​​​​​​

$(function(){
  var number = parseInt($('div').text(), 10);
  var math = number+2;
  $('body').text(math);
});​
于 2012-07-15T15:41:15.203 に答える
1

を使用して、文字列を int として解析できますparseInt(string[, radix])

コードは次のようになります

$(function(){
  var number = $('div').text();
  var math = parseInt(number, 10)+2;
  $('body').text(math);
});

ソース: http://www.javascripter.net/faq/convert2.htm

于 2012-07-15T15:41:36.383 に答える