2010-12-28 54 views

Trả lời

33

Họ có chữ ký khác nhau, .slice() là:

string.slice(beginIndex, endIndex) 

Trong khi .substr() là:

string.substr(beginIndex, length); 

Vì vậy, ví dụ, nếu chúng ta có "1234" và muốn "23", nó sẽ là:

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

Chúng cũng khác nhau ent hành vi cho các chỉ số tiêu cực tiêu cực ít được sử dụng, xem tài liệu MDC cho .slice().substr() để biết mô tả đầy đủ.

+2

Lưu ý rằng phương thức "chất nền" không phải là một phần của tiêu chuẩn ECMAScript và cũng có thể cho kết quả không nhất quán trong các trình duyệt khác nhau. Dưới đây là tóm tắt tốt: http://www.jacklmoore.com/notes/substring-substr-slice-javascript/ –

5
  1. String.slice(begin, end)

    Phương pháp này sẽ cắt văn bản từ begin để end char, Eg .:

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

    Phương pháp này sẽ cắt văn bản từ begin để begin + length char, ví dụ:

    alert("Hello World!".substr(1, 8)); // ello Wor 
    
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)); 

kết quả:

lo w 
lo w 
lo worl 
0

Tôi nghĩ rằng sự khác biệt giữa str.slice()str.substr() là tham số thứ hai:

.slice() mất endIndex khi .substr() mất thời gian như trong:

.slice(StartIndex,EndIndex).substr(StartIndex,length).

1

substring()

1.If bắt đầu bằng dừng lại, nó sẽ trả về một chuỗi rỗng. 2.Nếu dừng được bỏ qua, nó sẽ trích xuất các ký tự ở cuối chuỗi. 3.Nếu bắt đầu> dừng, chuỗi con sẽ hoán đổi 2 đối số đó. 4. Nếu một trong hai đối số lớn hơn chiều dài của chuỗi, đối số sẽ sử dụng độ dài của chuỗi. 5.Nếu một trong hai đối số là nhỏ hơn 0 hoặc là NaN, nó được xử lý như thể nó là 0.

lát()

1.If bắt đầu bằng dừng lại, nó sẽ trả về một chuỗi rỗng, giống hệt như chuỗi con(). 2.Nếu dừng được bỏ qua, slice trích xuất ký tự vào cuối chuỗi, giống hệt như chuỗi con(). 3.Nếu bắt đầu> dừng, slice() sẽ KHÔNG trao đổi 2 đối số. 4.Nếu một trong hai đối số lớn hơn chiều dài của chuỗi, thì đối số sẽ sử dụng độ dài của chuỗi, giống như chuỗi con().

Các vấn đề liên quan