關(guān)于charAt()方法和下標(biāo)方法的區(qū)別和適用場(chǎng)景?
使用這種直接引用下標(biāo)的方法mystr[mystr.length-1]和使用這種charAt()方法有什么區(qū)別? 這兩種方法是不是在任何時(shí)候都完全等價(jià)?
使用這種直接引用下標(biāo)的方法mystr[mystr.length-1]和使用這種charAt()方法有什么區(qū)別? 這兩種方法是不是在任何時(shí)候都完全等價(jià)?
2017-08-26
舉報(bào)
2017-08-26
關(guān)于 mystr[index]與mystr.charAt(index)的區(qū)別:
① 當(dāng)索引值超出字符串的有效位置值時(shí),前者的運(yùn)行結(jié)果為undefined,后者的運(yùn)行結(jié)果為空值,即為null,下面的代碼你可以復(fù)制運(yùn)行試試看效果;
var mystr="I love JavaScript!";
document.write("前"+mystr[18]+"后<br />");
document.write("前"+mystr.charAt(18)+"后<br />");
② 當(dāng)mystr為數(shù)組時(shí),前者的 [ ] 變?yōu)閿?shù)組下標(biāo),后者無(wú)法運(yùn)行;
var mystr=["I love JavaScript!"];
document.write("前"+mystr[18]+"后<br />");
document.write("前"+mystr.charAt(18)+"后<br />");
③?當(dāng)mystr為數(shù)組時(shí),前者的有效索引值表示為mystr[0][5],相當(dāng)于二維數(shù)組,后者的有效索引值表示為mystr[0].charAt(5)。
var mystr=["I love JavaScript!"];
document.write("前"+mystr[0][5]+"后<br />");
document.write("前"+mystr[0].charAt(5)+"后<br />");
(以上均為本人親測(cè),如果有哪里說(shuō)得不對(duì)的地方,可以一起討論一下)