根据我的理解,JavaScript的子串方法有两个参数:第一个是从哪里开始的索引,第二个是结束点(非索引类型计数,也就是字符数不是0-开始),它不是包括端点char。按照这个逻辑,我运行了两个例子:
这个第一个例子正如预期的那样工作,我计算了13个字符,因为第13个字符是结束点而不会被包括在内。
// goal was to print "Melbourne is"
alert("Melbourne is great".substring(0,13));
然而这个例子失败了。在这个例子中,我也在结束点停止了我的计数,因为我预计它不会被计算在内。
//goal was to print "Jan"
alert("January".substring(0,4));
我的理解在哪里有缺陷?
答案 0 :(得分:7)
JavaScript的子串方法有两个参数:第一个是从哪里开始的索引,第二个是结束点(非索引类型计数,也就是字符数不是0-开始),它不是包括端点char
您对此理解不正确。您正在描述.substr()
的功能。 .substring()
使用两个索引。
答案 1 :(得分:2)
你疯了的原因是因为功能
alert("Melbourne is great".substring(0,13));
//prints Melbourne_is_ not Melbourne_is
注意
之后的空格别发疯了! :)