เพื่อพิมพ์เนื้อหาของ JavaScript Object ใช้โค้ดตัวอย่าง Object สร้างด้วย new Keyword ตัวอย่าง <!DOCTYPE html> <html> <body> <p id=test></p> <script> var dept = new Object(); dept.employee = Amit; dept.department = Technical;
เพื่อพิมพ์เนื้อหาของ JavaScript Object ใช้โค้ดตัวอย่าง Object สร้างด้วย new Keyword ตัวอย่าง <!DOCTYPE html> <html> <body> <p id=test></p> <script> var dept = new Object(); dept.employee = Amit; dept.department = Technical;
Rest Parameters ES6 นำ Rest Parameters มาช่วยนักพัฒนา สำหรับ Arguments Object ใช้ ... นำหน้าพารามิเตอร์ สามารถรับ Arguments จำนวนไม่จำกัดเป็น Array ได้ ตัวอย่าง <html> <body> <script> function addition(...numbers) { var res = 0; numbers.forEach(func
เพื่อเก็บค่าตัวแปรใน Closure Function ให้ไม่ตั้งค่าเป็น Empty Object ทุกครั้งที่เรียก webLinks = {}; ใช้โค้ดด้านล่างเพื่อรักษาค่า: var webLink = function (containerId) { var link1 = https://www.qries.com, link2 = https://www.tutorialspoint.com; var webLinks = {}; return function(Id)
Immediate Function คือฟังก์ชันที่ทำงานทันทีเมื่อถูกกำหนด ในการเข้าใจบทบาท ให้เปรียบเทียบระหว่างฟังก์ชันทั่วไปและ Immediate Function Immediate Function (function() { var str = display; }()); function display() { // คืนค่า undefined alert(str); } ฟังก์ชันทั่วไป var str = display; function
คีย์เวิร์ด yield ใช้ใน JavaScript เพื่อหยุดและดำเนินการต่อ Generator Function ค่าของ Expression จะถูกส่งกลับไปยัง Caller ของ Generator ไวยากรณ์ [val] = yield [exp]; exp คือ Expression ค่าที่ส่งกลับ val คือค่าที่ส่งเข้ามาผ่าน next() ตัวอย่าง Generator Function function* displayRank () { var selPla
เพื่อดู Events ที่ยิงบน Element ใน Google Chrome: เปิด Chrome กด F12 เพื่อเปิด Dev Tools ไปที่ Tab Sources ไปที่ Event Listener Breakpoints ด้านขวา คลิก Event ที่ต้องการ แล้วโต้ตอบกับ Element เป้าหมาย หาก Event ยิง จะหยุดที่ Breakpoint ใน Debugger
Function Overloading เกิดขึ้นเมื่อฟังก์ชันทำงานต่างกันตามจำนวนอาร์กิวเมนต์ที่ส่งเข้า Best Practice: อย่าตรวจสอบ Type ของพารามิเตอร์ เพราะทำให้โค้ดช้าลง ควรหลีกเลี่ยง ตัวเลือกคือให้พารามิเตอร์ตัวสุดท้ายเป็น Object นอกจากนี้ อย่าตรวจสอบ Argument Length ด้วย ตัวอย่าง function display(a, b, value) { }
เพื่อให้ฟังก์ชันทำงานเมื่อผู้ใช้พิมพ์เสร็จ (Debounce) ใช้โค้ดดังนี้ ตัวอย่าง <html> <body> <script> var timer = null; $(#myText).keydown(function(){ clearTimeout(timer); timer = setTimeout(doStuff, 1000) }); function doStuff() {
เพื่อรวมสตริงหลายตัว ให้ใช้เมธอด Array.join() ตัวอย่างรวมสตริง: John Amit Sachin ตัวอย่าง <html> <body> <script> var arr = [Amit, John, Sachin]; document.write(arr.join(, )); </script> </body> </html>
Java SE 8 มาพร้อม Engine ใหม่ชื่อ Nashorn (JSR 292) รองรับ ECMA JavaScript มาตรฐาน สามารถรันโปรแกรม JavaScript จาก Command Line ด้วย Nashorn ใช้ Tool ชื่อ jjs อยู่ในโฟลเดอร์ bin ของ JDK ไฟล์ new.js var display = function() { // print Hello World! here }; display(); รันบน Command Prompt $ jjs ne
Getters กำหนด Property ของออบเจ็กต์ แต่ค่าของ Property ไม่ได้คำนวณทันที จะคำนวณเมื่อถูกเข้าถึง (Accessed) ดังนั้น Getter จึงหน่วงค่าใช้จ่ายในการคำนวณจนกว่าจะต้องการค่า การทำให้เป็น Lazy หรือหน่วงการคำนวณ เรียกว่า Smart หรือ Memoized Getters สามารถ Cache ค่าไว้เพื่อเข้าถึงภายหลัง ค่าจะคำนวณครั้งแรกเม
Default Parameters Default Parameters ช่วยกำหนดค่าเริ่มต้นให้พารามิเตอร์ได้ง่ายขึ้น หากไม่ส่งค่าหรือส่ง undefined จะใช้ค่า Default ตัวอย่าง <html> <body> <script> function inc(val1, inc = 1) { return val1 + inc; } document.write(inc(10,10));
ฟังก์ชันคือกลุ่มโค้ดที่ใช้ซ้ำได้ เรียกได้จากทุกส่วนในโปรแกรม ช่วยลดการเขียนโค้ดซ้ำ และช่วยเขียนโค้ดแบบ Modular วิธีทั่วไปในการสร้างฟังก์ชันคือใช้คีย์เวิร์ด function ตามด้วยชื่อฟังก์ชันที่ไม่ซ้ำกัน รายการพารามิเตอร์ (อาจว่าง) และบล็อกคำสั่งล้อมด้วย Curly Braces <script> function sayHello() {
Context และ Scope ไม่ใช่สิ่งเดียวกันใน JavaScript การเรียกใช้ฟังก์ชันมีทั้ง Scope และ Context Scope (ขอบเขต) Scope ของตัวแปรคือบริเวณในโปรแกรมที่ตัวแปรนั้นถูกกำหนด JavaScript มี 2 Scope: Global Variable มี Global Scope เข้าถึงได้ทุกที่ Local Variable เห็นได้เฉพาะในฟังก์ชันที่ประกาศ Parameter ของฟังก
เพื่อสร้างลิงก์ส่งอีเมล ใช้ Tag <a> พร้อม Attribute href ใส่ mailto: ตามด้วยอีเมล เพื่อเพิ่ม Subject ใส่ ? แล้วตามด้วย Subject ช่องว่างใน Subject ต้องใช้ %20 แทน ตัวอย่าง <!DOCTYPE html> <html> <head> <title>HTML Email with subject</title> </head>
เมื่อฟังก์ชันเรียกตัวมันเอง เรียกว่า Recursion (การทำซ้ำ) JavaScript ก็ทำงานเหมือนกัน ตัวอย่างฟังก์ชันคำนวณแฟกทอเรียล (Factorial) ตัวอย่าง <html> <body> <script> function displayFact(value) { if (value < 0) { return -1; } else if
เพื่อเปลี่ยนขนาดตัวอักษรใน HTML ให้ใช้ Attribute style ร่วมกับ CSS Property font-size HTML5 ไม่รองรับ Tag <font> แล้ว จึงใช้ CSS Style แทน โปรดทราบ: การใช้ Style Attribute จะทับทับ Style ที่ตั้งค่าไว้ทั่วไป (Global) รวมถึงใน Tag <style> หรือ External Stylesheet ตัวอย่าง <!DOCTYPE htm
JavaScript 1.2 อนุญาตให้ประกาศฟังก์ชันซ้อนกันได้ แต่มีข้อจำกัด: ไม่สามารถประกาศฟังก์ชันภายใน Loop หรือ Conditional ได้ ข้อจำกัดนี้ใช้กับ Function Declaration ที่ใช้คีย์เวิร์ด function ตัวอย่าง <html> <head> <script> function hypotenuse(a,b) { function square
JavaScript Closures ใน JavaScript ทุกฟังก์ชันทำงานแบบ Closure Closure คือฟังก์ชันที่ใช้ Scope ที่มันถูกประกาศเมื่อถูกเรียก ไม่ใช่ Scope ที่มันถูกเรียกใช้ ตัวอย่าง Closure <!DOCTYPEhtml> <html> <body> <h2>JavaScriptClosures</h2> <script> var p =
JavaScript Function Closure คือการรวมกลุ่มของฟังก์ชันและบริบทที่ฟังก์ชันนั้นถูกประกาศ ใน JavaScript ทุกฟังก์ชันทำงานแบบ Closure Closure คือฟังก์ชันที่ใช้ Scope ที่มันถูกประกาศเมื่อถูกเรียก ไม่ใช่ Scope ที่มันถูกเรียกใช้ ตัวอย่าง <!DOCTYPEhtml> <html> <body> <h2>Workin