为了账号安全,请及时绑定邮箱和手机立即绑定

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

<!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 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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


0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

I love JavaScript!

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


1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

你把L换成大写试试

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

你可能看错了

0 回复 有任何疑惑可以回复我~
#1

fqvdef

空格也算一个字符
2018-11-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信