substring()方法包含头,不包含尾,但是如果省略尾参数,又包含了最后一个字符,这是为啥呀?
比如字符串mystr=“hello world!”
mystr.substring(6) //显示world!
mystr.substring(6,11) //显示world
明明是11的长度呀
首先返回的后一个参数stop,是返回到 stop-1 处的所有字符,如果没有参数就返回到对象结尾;如你举的例子,就是返回到mystr[6-10]的字符串。然后,你的字符长度是12,不是11,下标是从0 开始算起的。
看一下符号是不是英文半角符号,或者看一下有没有少加了分号之类的。代码这么写没问题,应该是一些细节问题。
alscojmkjrwgzvphyycbzmqopkresuygvyniovbarriwpqjiuslujnhsqxuvvcfpwyobpnkigltrctbesvmogcieufxmlpncilbws
先使用.length查看字符串的长度
字符串mystr=“hello world!” 空格也算一个字符。
返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。
11是不包含第11个字符 第6,7,8,9,10的字符
substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。
http://www.w3school.com.cn/jsref/jsref_substring.asp(w3c学院)
“!”字符在第十一个字符位置,所以没有显示。