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

来源:7-7 返回指定位置的字符

慕后端9173027

2017-08-26 10:52

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

写回答 关注

1回答

  • 心陌灬琉璃梦
    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 />");

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


    慕后端917...

    非常感谢!

    2017-08-26 14:23:11

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题