Skip to content
This page is a draft. It may be incomplete or contain inaccuracies. If you have any comment, please feel free to leave some feedback!

ใส่ JavaScript บนหน้าเว็บ

ภายในเว็บที่เราเขียนขึ้นมา เราสามารถใส่ JavaScript ลงไปในนั้นได้ด้วย โดยใช้ element <script> ครอบโค้ด JavaScript ไว้

  • ลองใส่โค้ดนี้เพิ่มเข้าไปในหน้าเว็บ ในโค้ดตัวอย่างนี้ จะมีภาษาของ JavaScript ใหม่ที่ยังไม่เคยเจอ ให้ลองพิมพ์ตามดูก่อนครับ

    html
    <script>
      console.log('hello from JS');
    </script>
  • เสร็จแล้วลองกด Preview > Preview in a new window

  • เมื่อหน้าเว็บโหลดขึ้นมาแล้ว ลองเปิด JavaScript Console ขึ้นมาดู

  • ถ้าเกิดทุกอย่างทำงานถูกต้อง ควรจะเห็นข้อความ hello from JS ปรากฏอยู่ใน Console

    ใส่ JavaScript ในหน้าเว็บ

    <script>โค้ดภาษา JavaScript</script>

  • แต่ถ้ามีข้อผิดพลาด จะเห็นข้อความ Error เป็นสีแดง และมีลิงก์ให้กดเพื่อไปยังจุดที่คอมพิวเตอร์คิดว่าเกิดข้อผิดพลาดขึ้น

  • เมื่อกดเข้าไปแล้ว ตัว Dev Tools จะพาเราไปยังแท็บ Sources และจะมีการไฮไลท์จุดที่เกิดข้อผิดพลาดขึ้นครับ

    อ่านข้อความ Error ด้วย

    เว็บเบราว์เซอร์เป็นโปรแกรมที่ซับซ้อนมาก และประกอบไปด้วยหลาย ส่วนที่ทำงานร่วมกัน บางทีเราอาจจะเห็น Error ที่ไม่เกี่ยวข้องกับโค้ดที่เราเขียนอยู่บ้าง โดยเราสามารถเช็คได้ว่า Error มาจากไหน โดยดูตรงลิงก์ที่มาในด้านขวา ว่าเกี่ยวข้องกับโค้ดที่เราเขียนหรือไม่

console.log

  • เราลองใส่โค้ดที่เราเรียนจากบทก่อนหน้าดูบ้าง

    html
    <script>
      123 * 456
    </script>
  • พอรันดูแล้วจะพบว่า ไม่มีอะไรเกิดขึ้นเลย แต่เราเขียนโค้ดไว้ใน <script> ไว้แล้ว ทำไมมันไม่ทำงาน?

  • ความจริงมันทำงานแล้วครับ — ตอนที่ script ทำงาน คอมพิวเตอร์จะคำนวณค่า 123 * 456 ให้ แต่เนื่องจากเราไม่ได้บอกคอมพิวเตอร์ว่าให้มันทำอะไรกับผลลัพธ์นั้น คำตอบจึงถูกโยนทิ้งไปครับ

  • ถ้าอยากให้มันแสดงผลออกมา ก็ใช้คำสั่ง console.log()[1]

    html
    <script>
      console.log(123 * 456);
    </script>

    เขียนรูปแบบนี้:

    แสดงข้อความใน console

    console.log(ค่าที่ต้องการให้แสดงผลออกมา);

    ในบทนี้เราจะสอนคำสั่งต่าง เป็นประโยค ไปก่อน โดยที่ยังไม่ได้อธิบายว่าคำว่า console กับ log คืออะไร มาจากไหน แล้วเครื่องหมาย . ( ) ทำหน้าที่อะไร แต่เราจะได้เรียนรู้เรื่องพวกนี้ในบทถัด ไป เมื่อเราไปถึงตอนที่เกี่ยวกับ function และ object

    แค่นี้ เราก็จะเห็นผลลัพธ์ออกมาใน console แล้วครับ

    ทดลองด้วยตัวเอง

    1. คลิกที่นี่เพื่อเปิดหน้าตัวอย่าง
    2. เมื่อหน้าเว็บโหลดแล้วให้เปิด JavaScript Console ขึ้นมา
    3. ดูผลลัพธ์ → ควรจะเห็นตัวเลข 56088 ปรากฏอยู่ใน console

เครื่องหมาย เซมิโคล่อน ;

  • เครื่องหมาย ; ในภาษา JavaScript เอาไว้ใช้บอกว่าเป็นการจบคำสั่ง

  • เวลาเราเขียนหลาย คำสั่งในบรรทัดเดียว สามารถใช้ ; คั่นแค่ละคำสั่งได้

    html
    <script>
      console.log(123); console.log(456); console.log(123 * 456)
    </script>
  • ถ้าเราลืมใส่ ; จะเกิด error ขึ้น

    html
    <script>
      console.log(123) console.log(456) console.log(123 * 456)
    </script>
    
                
              Uncaught SyntaxError: Unexpected identifier 'console'
          >
  • แต่ถ้าคำสั่งแต่ละคำสั่ง อยู่บนคนละบรรทัดกัน ในกรณีส่วนใหญ่ ไม่จำเป็นต้องใส่เครื่องหมาย ; เมื่อขึ้นบรรทัดใหม่ คำสั่งก่อนหน้าจะจบลงโดยอัตโนมัติ[2]

    html
    <script>
      console.log(123)
      console.log(456)
      console.log(123 * 456)
    </script>
  • ในทางปฏิบัติ เรามักจะเขียนโปรแกรมโดยให้แต่ละคำสั่งอยู่คนละบรรทัดกัน ดังนั้นจะใส่ ; หรือไม่ใส่ก็ได้ ทั้งนี้ ขึ้นอยู่กับความชอบของแต่ละคน หรือถ้าทำงานเป็นทีม ก็ขึ้นอยู่กับว่าตกลงกันไว้ว่าจะใช้แบบไหน

  • โดยในคอร์สนี้ โค้ดที่เราเขียนจะไม่ใส่เครื่อง ; ท้ายคำสั่งครับ (เป็นความเคยชินของผม)

Next up

  • ตอนนี้เราก็ได้เรียนรู้ element <script> เพิ่มมาอีกตัวนึงแล้ว

    <a><abbr><address><area><article><aside><audio><b><base><bdi><bdo><blockquote><body><br><button><canvas><caption><cite><code><col><colgroup><data><datalist><dd><del><details><dfn><dialog><div><dl><dt><em><embed><fieldset><figcaption><figure><footer><form><h1><h2><h3><h4><h5><h6><head><header><hgroup><hr><html><i><iframe><img><input><ins><kbd><label><legend><li><link><main><map><mark><menu><meta><meter><nav><noscript><object><ol><optgroup><option><output><p><picture><pre><progress><q><rp><rt><ruby><s><samp><script><search><section><select><slot><small><source><span><strong><style><sub><summary><sup><table><tbody><td><template><textarea><tfoot><th><thead><time><title><tr><track><u><ul><var><video><wbr>
  • ในตอนต่อไปเราจะลองสร้างปุ่มและกล่องข้อความ และเขียนโค้ดเพื่อให้หน้าเว็บของเราสามารถโต้ตอบกับผู้ใช้งานได้ครับ


  1. ในคอร์สนี้เราจะนิยามคำว่า “คำสั่ง” แบบหลวม เพื่อสื่อถึงโค้ดที่เราต้องเขียนเพื่อให้ได้ผลลัพธ์อะไรสักอย่างออกมา แต่ในทางทฤษฎี จะมีคำว่า statement (ที่มักจะแปลเป็นไทยว่า ‘คำสั่ง’ เหมือนกัน หรือบางทีก็แปลว่า ‘ประโยค’) แต่มันจะมีอีกความหมายที่ค่อนข้างเฉพาะเจาะจง ↩︎

  2. เรียกว่า “Automatic Semicolon Insertion” ซึ่งมีในภาษา JavaScript แต่ภาษาอื่น เช่น C, C++, C#, Java, PHP จะไม่มี แปลว่าทุก คำสั่งจะต้องใส่ ; ทุกครั้ง ในภาษา JavaScript จะมีบางกรณีที่การขึ้นบรรทัดใหม่ จะไม่ทำให้คำสั่งก่อนหน้าจบลง ก็คือเมื่อบรรทัดต่อไปขึ้นต้นด้วยเครื่องหมาย ( [ ` + - / ↩︎