何か私のjavascriptで起こっているwierdと私はそれを理解していません。誰でも説明できますか?Javascriptの文字列キャストの問題
var adsl2pSpeed = '9500 - 12500';
alert(adsl2pSpeed);
if (!adsl2pSpeed) {
alert(adsl2pSpeed);
var adsl2pSpeed = 'Unknown';
}
var speed = document.getElementById("PredictedSpeed");
speed.innerHTML = adsl2pSpeed + " b/s";
「未定義」を2回警告し、innerhtmlを「不明」に設定します。 if文をコメントアウトすると、 '9500 - 12500'に警告し、innerHTMLを '9500 - 12500'に設定します。何が起こっていますか?文字列がオブジェクトとしてキャストされているのでnullになりますか?
EDIT:私は実際にadsl2pSpeedを機能に含まれない起動スクリプトとして登録しています。わかりやすくするために移動しましたが、おそらくそれが問題ですか?
テストケースください。インデントを見ると、実際のコードは最初の2行の間にあるものがあります... – ThiefMaster
それはあなたの正確なコードですか?それとも関数の中に何かある? – Thilo
私のためではありません:http://jsfiddle.net/v6D9r/。残りのコードを表示してください。ところで、 'var adsl2pSpeed = 'Unknown'の前に' var'は必要ありません; ...変数adsl2pSpeedはすでに宣言されています。 – Matt