大佬们,为什么我括号内输入2,输出的结果是I,如果是mystr.length-1出的结果是!

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

慕村2489475

2018-11-12 20:59

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>string对象 </title>

  <script type="text/javascript">

  var mystr="I love JavaScript!"

  document.write(mystr.charAt(mystr.length-1));

</script>

</head>

<body>

</body>

</html>


写回答 关注

8回答

  • qq_慕神4299395
    2020-08-22 14:38:41

    没毛病啊,括号里输入2是l,-1是!(从0开始计数的,空格也算一个字符串)

  • 慕函数0903514
    2019-08-09 14:16:05

    首先charAt这个方法是从下标0开始计算的 即 index 为2的时候 是字符串的第三个字符 空格也算一个位置(0为I 1为空格 2为I) 而Length-1是因为是从0开始 所以最后一个的下标是长度减一

  • 一颗路边的小石头
    2019-01-04 08:50:26

    哈哈哈,你要相信程序的执行结果,就是空格,是课程错了

  • 先思后做万无一失
    2018-12-06 19:52:14

    说错了,空格也算字符,跟数组差不多的格式。抱歉,不过整体应该就是charAt()方法是输出从左到右从0开始计数的字符(包括空格)。


  • 先思后做万无一失
    2018-12-06 19:43:45

    length-1指定为最后一个字符,charAt()方法是输出从左到右从1开始计数的字符(不包括空格)。

  • 我的林允儿
    2018-12-05 16:59:20

    I love JavaScript!

    I=0 空格=1    l=2   o=3.。。。。最后一个字符是!数字符长度的时候肯定是从1开始数的,但是下标是从0开始,所以字符长度肯定比下标多一,so    length-1输出的是!


  • fqvdef
    2018-11-13 14:40:53

    其实length-1的意思和前面算来一样的1就是第一个,-1就是最后面开始算起的第一个

  • fqvdef
    2018-11-13 14:38:18

    你把L换成大写试试

    我试了就是把L换成大写输出就是L

    你可能看错了

    fqvdef

    空格也算一个字符

    2018-11-13 14:39:24

    共 1 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题