问答详情
源自:7-7 返回指定位置的字符

关于charAt()方法和下标方法的区别和适用场景?

使用这种直接引用下标的方法mystr[mystr.length-1]和使用这种charAt()方法有什么区别? 这两种方法是不是在任何时候都完全等价?

提问者:慕后端9173027 2017-08-26 10:52

个回答

  • 心陌灬琉璃梦
    2017-08-26 12:59:28
    已采纳

    关于 mystr[index]与mystr.charAt(index)的区别:

    ① 当索引值超出字符串的有效位置值时,前者的运行结果为undefined,后者的运行结果为空值,即为null,下面的代码你可以复制运行试试看效果;

    var mystr="I love JavaScript!";

    document.write("前"+mystr[18]+"后<br />");

    document.write("前"+mystr.charAt(18)+"后<br />");

    ② 当mystr为数组时,前者的 [ ] 变为数组下标,后者无法运行;

    var mystr=["I love JavaScript!"];

    document.write("前"+mystr[18]+"后<br />");

    document.write("前"+mystr.charAt(18)+"后<br />");

    ③ 当mystr为数组时,前者的有效索引值表示为mystr[0][5],相当于二维数组,后者的有效索引值表示为mystr[0].charAt(5)。

    var mystr=["I love JavaScript!"];

    document.write("前"+mystr[0][5]+"后<br />");

    document.write("前"+mystr[0].charAt(5)+"后<br />");

    (以上均为本人亲测,如果有哪里说得不对的地方,可以一起讨论一下)