我是新來的JS,我已經嘗試下面的代碼,返回字符串的方法錯誤的字符
var str = "\">2\""
var res = str.substring(2,1);
返回:>
預計:2
我有通過以下代碼進行檢查,
var str = "\">2\""
var res = str.substring(2);
返回:"2\"
預計:"2\"
請讓我知道,如果我誤解了什麼,爲什麼它返回>
,而不是2
。在C#中它正常工作。
在此先感謝
我是新來的JS,我已經嘗試下面的代碼,返回字符串的方法錯誤的字符
var str = "\">2\""
var res = str.substring(2,1);
返回:>
預計:2
我有通過以下代碼進行檢查,
var str = "\">2\""
var res = str.substring(2);
返回:"2\"
預計:"2\"
請讓我知道,如果我誤解了什麼,爲什麼它返回>
,而不是2
。在C#中它正常工作。
在此先感謝
其實你正在做它的情況下,1
當你
str.substring(2,1);
這實際上意味着
str.substring(1,2);
從docs
不正確10如果indexStart大於indexEnd,那麼substring()的作用就好像兩個參數交換一樣;例如,str.substring(1,0)== str.substring(0,1)。
因爲在1,2的字符是>
,你會得到相同的。
但是當你做
str.substring(2);
它實際上等於
str.substring(2, str.length-1);
如果省略indexEnd,子()提取字符的字符串的結尾。
的JavaScript字符串函數會像這樣
字符串。子(開始,結束)
var str = "\">2\""
var res = str.substring(2,1);
在這種情況下 如果 「開始」 是不是 「結束」 時,就會交換兩個參數:
所以答案>只
和在第二種情況下
var str = "\">2\""
var res = str.substring(2);
開始第2位的提取,提取字符串的其餘部分:
這樣回答會2"
這個鏈接將幫助您更多的imformation javascript substring function
子(2,1 )僅給出第二個位置的字符, 其中substring(2)從第二個位置返回字符串直到字符串結束。
或者使用'substr'。 – Andy