input
のvalue
が常に文字列です。 +
は、そのオペランドのいずれかが文字列の場合に文字列の連結を行います。
だから、数としてそれを使用するvalue
を解析したいと思う:私は数にthis.value
を強制する+
を使用している、という点で
for (var i = 0; i < 3; i++) {
var input = document.createElement("input");
document.body.appendChild(input);
random = Math.floor((Math.random() * 100) + 1);
this.input.value = random;
input.addEventListener('focus', function(e) {
this.value = +this.value + random * 2;
})
}
。その他のオプションは、parseInt
,parseFloat
、およびNumber
です。
しかし、私はあなたのコードが何を試したことのないものだ各それら
に焦点を当てていたときに、値* 2を高めるためにどのように
を言いました。あなたのコードは
に、
random * 2
を追加しようとしました。ちょうどそれを倍にするには、それをダブル:私はまだ強調のために
+
を使用していますがあり
for (var i = 0; i < 3; i++) {
var input = document.createElement("input");
document.body.appendChild(input);
random = Math.floor((Math.random() * 100) + 1);
this.input.value = random;
input.addEventListener('focus', function(e) {
this.value = +this.value * 2;
})
}
が、*
は数にそのオペランドを強制されますので、this.value *= 2
も働くだろう。
を働いて上記のコードを試してみましたが、あなたはそれに問題があるように思われるものを、いくつかのコードを添付しましたか? – Itay
'this.value = this.value * 2;'を意味しますか? –
はい、それは私が言ったことです、私の間違い。 – Bybnovskiy