17

slice()文字列オブジェクトとsubstr()JavaScriptの違いは何ですか?

4

5 に答える 5

34

それらには異なる署名が.slice()あります。

string.slice(beginIndex, endIndex)

一方.substr()

string.substr(beginIndex, length);

たとえば、 が"1234"あり、 が必要な場合、次"23"のようになります。

"1234".slice(1,3)
//or...
"1234".substr(1,2)

また、めったに使用されない負のインデックスに対しても異なる動作をします。完全な説明については、MDC のドキュメントを参照して.slice()ください.substr()

于 2010-12-28T13:13:32.773 に答える
5
  1. String.slice(begin, end)

    beginこのメソッドは、テキストをendchar にカットします。例:

    alert("Hello World!".slice(1, 8)); // ello Wo
    
  2. String.substr(begin, length)

    beginこのメソッドは、テキストをからbegin+ lengthchar にカットします。例:

    alert("Hello World!".substr(1, 8)); // ello Wor
    
于 2010-12-28T13:14:21.780 に答える
2
var str="Hello world!";
document.write(str.substring(3,7)+"<br />");
document.write(str.slice(3,7)+"<br />");
document.write(str.substr(3,7));

結果:

lo w
lo w
lo worl
于 2012-07-19T07:54:22.040 に答える
1

サブストリング()

1. start が stop と等しい場合、空の文字列を返します。2.stop を省略した場合は、文字列の末尾まで抽出します。3. 開始 > 停止の場合、部分文字列はこれら 2 つの引数を交換します。4. いずれかの引数が文字列の長さより大きい場合、どちらの引数も文字列の長さを使用します。5.どちらかの引数が 0 未満または NaN の場合、0 として扱われます。

スライス()

1. start が stop と等しい場合、substring() とまったく同じように空の文字列を返します。2.stop が省略された場合、slice は、substring() とまったく同じように、文字列の末尾まで文字を抽出します。3. start > stop の場合、slice() は 2 つの引数を交換しません。4. いずれかの引数が文字列の長さよりも大きい場合、substring() とまったく同じように、どちらの引数も文字列の長さを使用します。

于 2014-07-15T09:06:48.227 に答える