หมายเหตุ: หากคุณกำลังรีบและ / หรือมองหาคำตอบสั้น ๆ เลื่อนไปที่ด้านล่างของคำตอบและอ่านสองบรรทัดสุดท้ายหากไม่รีบอ่านสิ่งทั้งหมด
ให้ฉันเริ่มต้นด้วยการระบุข้อเท็จจริง:
ไวยากรณ์:
string.slice(start,end)
string.substr(start,length)
string.substring(start,end)
หมายเหตุ # 1:slice()==substring()
มันทำอะไร สารสกัดจากวิธีส่วนของสตริงและผลตอบแทนส่วนขยายในสตริงใหม่ สารสกัดจากวิธีส่วนของสตริงเริ่มต้นที่ตัวละครในตำแหน่งที่กำหนดและผลตอบแทนตามจำนวนที่ระบุของตัวละคร สารสกัดจากวิธีส่วนของสตริงและผลตอบแทนส่วนขยายในสตริงใหม่
โน้ต 2:
slice()
substr()
substring()
slice()==substring()
เปลี่ยนสตริงดั้งเดิมหรือไม่
slice()
ไม่
substr()
ไม่
substring()
ไม่
หมายเหตุ # 3:slice()==substring()
การใช้ตัวเลขติดลบเป็นอาร์กิวเมนต์:
slice()
เลือกอักขระที่เริ่มต้นจากจุดสิ้นสุดของสตริง
substr()
เลือกอักขระที่เริ่มต้นจากจุดสิ้นสุดของสตริง
substring()
ไม่ดำเนินการ
หมายเหตุ # 3:slice()==substr()
ถ้าอาร์กิวเมนต์แรกมีค่ามากกว่าสอง:
slice()
ไม่ทำงาน
substr()
เนื่องจากอาร์กิวเมนต์ที่สองไม่ใช่ตำแหน่ง แต่มีค่าความยาวมันจะทำงานตามปกติโดยไม่มีปัญหา
substring()
จะสลับอาร์กิวเมนต์ทั้งสองและดำเนินการตามปกติ
อาร์กิวเมนต์แรก:
slice()
จำเป็น, หมายถึง: ดัชนีเริ่มต้นที่
substr()
จำเป็น, หมายถึง: ดัชนีเริ่มต้นที่
substring()
ต้องการ, บ่งชี้: ดัชนีเริ่มต้น
หมายเหตุ 4:slice()==substr()==substring()
อาร์กิวเมนต์ที่สอง:
slice()
ตัวเลือกตำแหน่ง (ไม่เกิน แต่ไม่รวม) ตำแหน่งที่จะสิ้นสุดการแยก
substr()
ตัวเลือกจำนวนอักขระที่จะแตก
substring()
ตัวเลือกตำแหน่ง (ขึ้นไป แต่ไม่รวม) ซึ่งจะสิ้นสุดที่การแยก
หมายเหตุ # 5:slice()==substring()
เกิดอะไรขึ้นถ้าอาร์กิวเมนต์ที่สองถูกละเว้น
slice()
เลือกอักขระทั้งหมดจากตำแหน่งเริ่มต้นไปยังจุดสิ้นสุดของสตริง
substr()
เลือกอักขระทั้งหมดจากตำแหน่งเริ่มต้นไปยังจุดสิ้นสุดของสตริง
substring()
เลือกอักขระทั้งหมดจากตำแหน่งเริ่มต้นถึงจุดสิ้นสุดของสตริง
หมายเหตุ # 6:slice()==substr()==substring()
เพื่อให้คุณสามารถพูดได้ว่ามีความแตกต่างระหว่างslice()
และsubstr()
ในขณะนั้นเป็นสำเนาของsubstring()
slice()
ในการสรุป:
ถ้าคุณรู้ว่าดัชนี (ตำแหน่ง) ที่คุณจะหยุด ( แต่ไม่รวม) ใช้ถ้าคุณรู้ว่าความยาวของตัวละครที่จะสกัดการใช้งานslice()
substr()
slice
เป็นสิ่งที่มีพฤติกรรมที่ไม่คาดคิดน้อยที่สุด