ฉันเขียนฟังก์ชั่นใน JS เพื่อลบช่องว่างเริ่มต้นและจุดสิ้นสุดและอักขระเฉพาะ รหัสมีดังนี้:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นตัดแต่ง (str, charlist) {
return str.replace (ใหม่ regexp ('^[// s'+charlist+']+| [// s'+charlist+']+$', 'g'), '');
-
รหัสดูเหมือนไม่มีอะไรผิดปกติและไม่มีข้อผิดพลาดเมื่อทำงาน
จนถึงวันนี้เมื่อฉันค้นหา "note3" ในแถบค้นหาฉันพบว่าเนื้อหาที่ค้นหาในแถบที่อยู่กลายเป็น "OTE3" และตัวอักษรหรือตัวเลขอื่น ๆ เริ่มต้นด้วยการเริ่มต้นปกติ การค้นหาคืออะไรเนื้อหาในแถบที่อยู่คืออะไร
หลังจากการดีบักรหัสเปลี่ยนรหัสเป็น:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นตัดแต่ง (str, charlist) {
var charlist = charlist || -
return str.replace (ใหม่ regexp ('^[// s'+charlist+']+| [// s'+charlist+']+$', 'g'), '');
-
เพิ่มการเริ่มต้นของ Charlist ให้กับฟังก์ชั่น ค้นหา "note3" ในครั้งนี้และผลลัพธ์ถูกต้อง
แม้ว่า JS จะเป็นภาษาที่อ่อนแอ แต่การใช้ตัวแปรไม่จำเป็นต้องมีการเริ่มต้น เมื่อเรียกใช้รหัสจะแปลงและกำหนดค่าโดยอัตโนมัติ อย่างไรก็ตามการทำเช่นนั้นจะทำให้เกิดปัญหาที่ไม่คาดคิดดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องเริ่มต้นตัวแปรที่ใช้ทั้งหมด
นั่นคือทั้งหมดสำหรับวันนี้ฉันหวังว่าคุณจะชอบ