2016-11-04 9 views
4

多くの場所で+$(...)が使用されているjQueryコードがあります。ちょうど$(...)を実行するとき、コードは+部分なしで動作しません。

私はGoogleを通じて説明を見つけることができませんでした。可能であれば、どんな指導にも感謝します。

function calculate() { 
    var a = +$('#a').val(); // what is +$ ? 
    var b = +$('#b').val(); 
    var c = b * 108.40; 
    //etc 
} 
+0

これは、VaRのA + = $( '#のidofinput')、他の方法で回避のヴァル(); – DinoMyte

+0

それは私のコードにはありません。私が言ったようなものです。それとも、それは別の方法でなければならないのでしょうか? –

+3

'var a + = ...'は構文エラーです。 – JJJ

答えて

8

+$()入力の値が数値には何でも実際には二つの操作、まずあなたの入力をつかむために$()実行され、その後、+強制しています。ここで

は何が起こっているかの内訳です:。

var valueA = $('#a').val(); // "123" 
 
var numberA = +valueA;  // 123 
 

 
console.log('valueA is a ' + typeof valueA); // 'valueA is a string' 
 
console.log('numberA is a ' + typeof numberA); // 'numberA is a number'
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="a" value="123"/>

+0

interresting。数字の場合でも入力テキストフィールドの数字は常に文字列ですか? –

+0

@Mik_Aはい、入力値は常に文字列です。 – nem035

+0

情報をありがとう。今、賢明になった。うれしいです。なぜ私が票を落とすのかわからない。 –

関連する問題