主な違いは
substr()を使用すると、返す最大長を指定できます
substring()を使用すると、インデックスを指定でき、2番目の引数は包括的ではありません
等しい引数と負の引数の処理など、substr()とsubstring()の間にはいくつかの追加の微妙な点があります。また、substring()とslice()は似ていますが、必ずしも同じではないことに注意してください。
//*** length vs indices:
"string".substring(2,4); // "ri" (start, end) indices / second value is NOT inclusive
"string".substr(2,4); // "ring" (start, length) length is the maximum length to return
"string".slice(2,4); // "ri" (start, end) indices / second value is NOT inclusive
//*** watch out for substring swap:
"string".substring(3,2); // "r" (swaps the larger and the smaller number)
"string".substr(3,2); // "in"
"string".slice(3,2); // "" (just returns "")
//*** negative second argument:
"string".substring(2,-4); // "st" (converts negative numbers to 0, then swaps first and second position)
"string".substr(2,-4); // ""
"string".slice(2,-4); // ""
//*** negative first argument:
"string".substring(-3); // "string"
"string".substr(-3); // "ing" (read from end of string)
"string".slice(-3); // "ing"
substring
、Chromeで他のすべてのパフォーマンスよりも @Derekы會功夫に注意してください。