Pri*_*hiv 4 javascript string substring
我是JS新手,我尝试过以下代码,
var str = "\">2\""
var res = str.substring(2,1);
Run Code Online (Sandbox Code Playgroud)
返回: >
预期: 2
我通过下面的代码检查过这个,
var str = "\">2\""
var res = str.substring(2);
Run Code Online (Sandbox Code Playgroud)
返回: "2\"
预期: "2\"
如果我误解了什么,请告诉我,为什么它会返回>
而不是2
.在C#中它可以正常工作.
提前致谢
实际上你在案例1中做错了
当你这样做
str.substring(2,1);
Run Code Online (Sandbox Code Playgroud)
这实际上意味着
str.substring(1,2);
Run Code Online (Sandbox Code Playgroud)
来自docs
如果indexStart大于indexEnd,则substring()的效果就好像两个参数被交换一样; 例如,str.substring(1,0)== str.substring(0,1).
由于1,2的字符是>
,你得到的相同.
但是,当你这样做
str.substring(2);
Run Code Online (Sandbox Code Playgroud)
它实际上等于
str.substring(2, str.length-1);
Run Code Online (Sandbox Code Playgroud)
如果省略indexEnd,则substring()将字符提取到字符串的末尾.