substr和substring有什麼區別?

之間有什麼區別 javascript

alert("abc".substr(0,2));

java

alert("abc".substring(0,2));

他們彷佛都輸出「 ab」。 性能


#1樓

Slice vs Substr vs Substring vs []方法 spa

這些javascript方法均具備性能優點。 請相應地使用這些功能。 code


#2樓

正如yatima2975的答案所暗示的,還有另一個區別: 索引

substr()接受一個負的起始位置做爲與字符串結尾的偏移量。 substring()沒有。 ip

MDN字符串

若是start爲負,則substr()將其用做字符串末尾的字符索引。 get

因此總結一下功能上的區別: string

substring(begin-offset, end-offset-exclusive) ,其中開始偏移爲0或更大

substr(begin-offset, length) ,其中start-offset也能夠是負數


#3樓

區別是第二個參數。 他們的第二個參數,雖然兩個數字,都指望兩個不一樣的東西:

使用子字符串時,第二個參數是不包括的第一個索引:

var s = "string";
s.substring(1, 3); // would return 'tr'

var s = "another example";
s.substring(3, 7); // would return 'ther'

使用substr時,第二個參數是要包含在子字符串中的字符數:

var s = "string";
s.substr(1, 3); // would return 'tri'

var s = "another example";
s.substr(3, 7); // would return 'ther ex'

#4樓

區別在於第二個參數。 substring的第二個參數是要在(但不包括)處中止的索引,而substr的第二個參數是要返回的最大長度。

連接?

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substr

https://developer.mozilla.org/zh-CN/JavaScript/Reference/Global_Objects/String/substring


#5樓

substrMDN )將參數設爲(from, length)
substringMDN )將參數設爲(from, to)

alert("abc".substr(1,2)); // returns "bc"
alert("abc".substring(1,2)); // returns "b"

您能夠記得substring採用索引,還有另外一種字符串提取方法slice

從0開始時,您能夠使用任何一種方法。

相關文章
相關標籤/搜索