對於Javascript來說,變數也是有類型的。看下面的小例子
這是測試的html
<p>
<input type="text" name="txtVal"/>
<input type="button" name="btnTest" value="測試" onclick="test();"/>
</p>
<span id="lblTest">測試結果</span>
看一下test方法
function test()
{
var val;
var result;
var str='';
val = document.all.txtVal.value;
str = '測試結果<br>';
str += '1+val=';
result = 1+val;
str += result;
str += '<br>1+parseInt(val)=';
result = 1+ parseInt(val);
str+=result;
document.all.lblTest.innerHTML=str;
}
結果顯示
測試結果
1+val=11
1+parseInt(val)=2
很明顯val的類型是字串。Javascript不是會自動轉換類型嗎?是的!這是肯定的。上面的例子,如果在所有加法運算前多加一句val++,結果就不同了。新的test 方法
function test()
{
var val;
var result;
var str='';
val = document.all.txtVal.value;
str = '測試結果';
val++;
str += '<br>val++ 後val='
str += val;
str += '<br>1+val=';
result = 1+val;
str += result;
str += '<br>1+parseInt(val)=';
result = 1+ parseInt(val);
str+=result;
document.all.lblTest.innerHTML=str;
}
新的結果
測試結果
val++ 後val=2
1+val=3
1+parseInt(val)=3
類型轉換有時還是明顯的執行為妙,以防出錯。