為什么要加parseInt?為什么hobby[j-1]就不行

阿拉斯加牛蟲
2015-06-16
2 回答
舉報
0/150
提交
取消
2015-06-16
舉報
2015-06-16
var j=document.getElementById("wb").value;?
此時j為字符串string類型,所以要先用parseInt將其轉化為數字。
但是,js是弱類型語言,如果不顯式轉化,則j-1會隱式轉化j為數字,再做減法。
所以其實 hobby[j-1]和hobby[parseInt(j)-1]都是可以的。
但是注意!
如果是hobby[j+1]就不可以了!因為在字符串和數字做加法時,數字會被隱式轉化成字符串。
也就是說
typeof (j+1) ?//string
typeof (j-1) ?//number
2015-07-01
原來這樣啊