: ฟังก์ชันหรือก็คือค่าของตัวแปรในรูปแบบฟังก์ชัน
>> ฟังก์ชัน (function) คืออะไรคะ?
ตอบ โดยทั่วไปคือกลุ่มโค้ดที่เขียนซ้ำๆในโปรแกรม ใช้อัลกอริทึมเดียวกันทั้งหมด เราจะแยกกลุ่มโค้ดเหล่านั้นออกมา ตั้งชื่อให้กับมัน และเรียกพวกมันโดยรวมว่าฟังก์ชันครับ
>> ประโยชน์ของฟังก์ชันคืออะไรครับ
ตอบ เพราะฟังก์ชันคือโค้ดที่เขียนด้วยอัลกอริทึมเดียวกัน (เขียนโค้ดเหมือนกัน) เมื่อเราแยกโค้ดเป็นฟังก์ชันต่างๆ ก็จะทำให้แก้ไขโปรแกรมได้ง่ายขึ้น เมื่อแก้ไขเพียงจุดเดียวก็จะทำให้จุดอื่นๆที่เรียกใช้ฟังก์ชันเดียวกันนี้ได้รับผลไปด้วย ทั้งยังอำนวยความสะดวกปกปิดโค้ดที่ซับซ้อนซึ่งเราไม่ได้มุ่งเน้นในลอจิกของเรา ตัวอย่างเช่น
document.write( ) สามารถแสดงข้อความออกไปที่หน้าเว็บบราเซอร์ได้
array.join( ) สามารถคืนค่าเป็นสตริงของสมาชิกทั้งหมดออกมาได้
>> จะสร้างฟังก์ชันได้อย่างไรล่ะ?
ตอบ เราควรทราบก่อนว่าฟังก์ชันของภาษาจาวาสคริปต์นั้น นอกจากจะใช้แบ่งโปรแกรมออกเป็นการทำงานย่อยๆแล้ว มันยังสามารถเป็นค่าของตัวแปรได้อีกด้วย แต่ก่อนจะกล่าวถึงประเด็นหลัง มาเรียนรู้วิธีการสร้างฟังก์ชันขึ้นมาก่อน
function functionName( parameters ) { ... }
แจกแจงดังนี้
- อันดับแรกคือคีย์ function ต้องเขียนแบบนี้เลยนะ
- ต่อไปก็ functionName ซึ่งจะตั้งชื่ออะไรก็ได้ เหมือนกับการตั้งชื่อตัวแปร ทว่าขอให้สื่อความหมายต่อกระบวนการที่ทำเป็นใช้ได้
- วงเล็บ ( และ ) จำเป็นต้องมีเสมอ
- parameters มีหรือไม่มีก็ได้ มีกี่ตัวก็ได้ มันก็คือชื่อตัวแปรใดๆก็ได้ที่เป็นทางผ่านของ input ที่ต้องการส่งให้กับฟังก์ชัน
- วงเล็บ { และ } จำเป็นต้องมีเสมอ
- สุดท้ายคือโค้ดที่เป็นอัลกอริทึมของฟังก์ชัน และหากฟังก์ชันนี้ส่งค่าผลลัพธ์กลับออกไปได้ ก็ควรระบุคีย์ return ด้วยนะ
>> สำคัญมาก เหล่า parameters ต่างๆที่ถูกกำหนดขึ้น รวมถึงทุกตัวแปรที่ประกาศในฟังก์ชันเป็นตัวแปร local ทั้งหมด
>> ตัวอย่างการสร้างฟังก์ชันบวกเลขสองจำนวน
function summation(x, y) {
return x + y;
}
document.write( summation(10, 20) ); ผลลัพธ์คือ 30
document.write( summation(-10, 10) ); ผลลัพธ์คือ 0
>> รู้จักกับตัวแปร arguments
ตัวแปร arguments เป็น implicit หรือก็คือตัวแปรที่จาวาสคริปต์เตรียมไว้ให้ใช้ สามารถอ้างอิงเพื่อใช้งานได้เลย มันมีชนิดเป็น array และเราสามารถนำมันมาประยุกต์ใช้ได้ดังตัวอย่างต่อไปนี้ สมมติเขียนฟังก์ชัน summation ขึ้นใหม่ ให้รับค่ามาบวกกันเท่าไรก็ได้
function summation() {
var sum = 0;
for(var i = 0; i < arguments.length; i++) { sum = sum + arguments[i]; }
return sum;
}
document.write( summation(10, 20) ); ผลลัพธ์คือ 30
document.write( summation(10, 20, 30, 40) ); ผลลัพธ์คือ 100
document.write( summation() ); ผลลัพธ์คือ 0
>> part นี้ยาวเกินไปแล้ว ไว้ part หน้าเราจะมาคุยกันว่าฟังก์ชันที่เป็นค่าของตัวแปรได้อีกด้วยนั้นเป็นเช่นไร
>> อ้อ ขอแนะนำ blog ของ Level Up Studio ไว้ด้วยนะครับ เห็นว่าทำ blog ได้สวยถูกใจดี พร้อมเนื้อหาการใช้ foreach กับ array ครับ
http://blog.levelup.in.th/2010/06/30/javascripts-foreach-foreach-%E0%B9%83%E0%B8%99-javascript/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น