ขออภัยสำหรับคำถามทั่วไป ฉันค้นหาทั่วและพบกระทู้จำนวนมากที่คล้ายกันนี้ แต่ไม่ใช่หนึ่งที่ตอบคำถามเฉพาะของฉัน - บางทีอาจเป็นเพราะคำที่ฉันค้นหาไม่มีอยู่
เพื่อนคนหนึ่งของฉันคือการเรียนรู้การเขียนโปรแกรมจาวาสคริปต์โดยเฉพาะและเขาถามฉันว่าทำไมมันถึงไม่ทำงาน:
var a = "Hello World";
a.replace("Hello", "Goodbye");
console.log(a) // Logs "Hello World"
เหตุผลเป็นเพราะreplace
ไม่ได้แก้ไขa
เนื่องจากสตริงไม่เปลี่ยนรูปใน JavaSript เพราะมันส่งคืนสตริงคุณต้องทำอะไรบางอย่างเช่น ...
var a = "Hello World";
a = a.replace("Hello", "Goodbye");
console.log(a); // Logs "Goodbye World"
อย่างไรก็ตามทางเลือกคือฟังก์ชั่นเช่นจาวาสคริปต์reverse()
เพราะมันจะทำการแก้ไขสิ่งที่เรียกว่า ตัวอย่างเช่น:
var fruits = ["Apples", "Oranges", "Bananas"];
fruits.reverse();
console.log(fruits) // ["Bananas", "Oranges", "Apples"]
เมื่อเพื่อนของฉันถามฉันว่าทำไมเขาถึงreplace
ไม่ทำงานฉันก็รู้ตัวว่ากำลังพูดถึงคำที่ฉันไม่รู้ (เท่าที่ฉันรู้) ...
"คุณต้องตั้งค่าสตริงเป็น" string dot replace "เนื่องจากฟังก์ชันแทนที่คือ ________"
คุณไม่จำเป็นต้องตั้งค่าอาร์เรย์ให้เท่ากับ "array dot reverse" เพราะ reverse เป็น ________
ฉันคุ้นเคยกับฟังก์ชั่นต้นแบบแม้ว่าฉันไม่เชื่อว่าเป็นคำที่ฉันกำลังมองหา ใครสามารถช่วยฉันเติมลงในช่องว่างเหล่านี้ได้ไหม
You don't need to set an array equal to "array dot reverse", because reverse is a mutator function
เช่นเดียวกับใน: ฉันคิดว่าฉันได้ยินคำศัพท์ที่อ้างถึงฟังก์ชั่นที่ "กลายพันธุ์" อินสแตนซ์ที่เรียกพวกเขา แต่คุณควรตรวจสอบอีกครั้งว่าที่อื่น