>> ขวาทั้งหมด
ดังนั้น JavaScript
เกือบทุกคนในห้องนี้ อาจจะมีในระดับหนึ่ง
ของความสะดวกสบายกับมันไม่ว่าจะเป็น มันเป็นทางกลับเมื่อใน SC50
หรือมันเป็นส่วนบุคคล โครงการเว็บหรือแม้กระทั่ง
ถ้าคุณไม่บิตของมันด้วย นี้เป็นโครงการที่ฐาน PHP ผ่านมา
แต่สำหรับส่วนใหญ่ ส่วนหลายท่าน
แม้ว่าคุณจะมีความสะดวกสบายบาง
ด้วยอาจจะ JavaScript ยังไม่ได้รับการดำเนินการ
เพื่อรับวิธีการที่ งานภาษาและสิ่งที่จะไป
ขึ้นภายใต้ประทุนและ สิ่งที่เรากำลังจะลอง
ที่จะทำในวันนี้คือเปลือกกลับ บางส่วนของชั้นทางเทคนิค
ของสิ่งที่ JavaScript เป็นวิธีการที่ มันแตกต่างจากภาษา
เช่น PHP, วิธีการที่สามารถ ใช้ไม่เพียง แต่ฝั่งไคลเอ็นต์
แต่ยังฝั่งเซิร์ฟเวอร์และ แล้วเน้นมากเป็นพิเศษ
ในกรอบนี้ไม่แจ้งให้ทราบล่วงหน้า JS ซึ่งเป็นหลักเวลาทำงาน,
โปรแกรมที่คุณ สามารถรันโค้ดจาวาสคริปต์
ด้านเซิร์ฟเวอร์และมันกลายเป็น ที่นิยมมากขึ้นการจัดเรียง
บนความสูงเดียวกันนี้ วันอาจทับทิมและ PHP
และ Python และคุณจะเห็น
ว่ามันมีอะไรบางอย่างสวย คุณลักษณะที่มีประสิทธิภาพโดยวิธีการบางอย่าง
ของภาษาในตัว สร้าง
แต่ก่อนบางส่วนของง่าย สิ่งที่เพียงเพื่อเตือนให้คุณ
ของวิธีการที่ภาษานี้ทำงานและ ถ้าคุณมีปัญหาในการมองเห็นใด ๆ
นี้เพียงแค่ตะโกน ออกมาและเราจะปรับ
ดังนั้นหนึ่งเช่นใน PHP มี ความคิดของฟังก์ชั่นหลักไม่มี
คุณเพียงแค่เริ่มต้นการเขียนโค้ด
และคุณสามารถดังนั้น ตีความมันบนลงล่าง
ในบริบทของเบราว์เซอร์
หรือบางสิ่งบางอย่างในด้านเซิร์ฟเวอร์ เราจะเห็นตัวอย่างบางส่วน
ในบิต
เงื่อนไข syntactically เทียบเท่ากับ PHP เป็น C,
C + + และภาษาอื่น ๆ บาง เพียงเพื่อให้ความรู้สึก
ของวิธีที่เราอาจโครงสร้างมัน
มีเพียงที่ยอมรับ สภาพ
สำนวนที่บูลีนที่แน่นอนเดียวกัน syntactically ที่คุณเคยเห็น
ในที่อื่น ๆ เหมือนกัน ภาษาทั้งสำหรับ oring
และเพื่อยุติสิ่งร่วมกัน
JavaScript มีสวิทช์ มากเช่น PHP และอื่น ๆ สิ่งที่ต้องทำ
และคุณไม่ จำกัด เช่น ใน C ถึงวิทยาการหนึ่ง
เช่นตัวอักษรและ ints สามารถจริง ทำประเภทอื่น ๆ ของค่า
ลูป ดังนั้นนี้เป็น ตรงเดียวกัน
และภาษาที่อาจจะโหล ในขณะที่ลูปทำในขณะที่ลูป
แล้วเคล็ดลับที่นี่นี้
ดังนั้นนี้เป็นที่จัดเรียงของ เป็นที่รู้จักกันอย่างรวดเร็วนับ
และมันเป็นวิธีที่ฉลาดมาก ของเช่นเดียวกับใน PHP ทำ
เพื่อ FU เป็นแถบแต่ละ คุณสามารถเหมือนกัน
ในวัตถุจาวาสคริปต์ วัตถุที่เป็นชื่อ
ของตัวแปรที่นี่พูด var i ในวัตถุและในแต่ละประโยค
ของวงนี้ฉันเป็น จะเป็นหนึ่งใน
ของคีย์จากวัตถ​​ุที่
ดังนั้นถ้าคุณมีวัตถุ นักเรียนและนักศึกษาที่มีรหัส
และชื่อและที่บ้าน ซ้ำฉันจะใช้เวลา
ของมูลค่าของบัตรประจำตัวและชื่อและ บ้านและคุณสามารถจัดทำดัชนีดังนั้น
เป็นวัตถุราวกับว่ามันเป็น อาร์เรย์โดยใช้วงเล็บเหลี่ยม
สัญกรณ์จะได้รับค่า ของ ID หรือชื่อที่สำคัญ
หรือบ้านและอื่น ๆ
และขัดกับที่พบบ่อย สมมติฐาน, JavaScript วัตถุ
คุณสมบัติไม่ได้ รับประกันจำเป็นต้องเป็น
ในลำดับเดียวกันนี้ยังเป็น จริง PHP จึงไม่ถือว่า
ว่าสิ่งที่จะอยู่ ในลำดับเดียวกัน
ที่คุณใส่ที่สำคัญเหล่านั้น คู่ค่าเป็นวัตถุ
วิธีการเกี่ยวกับอาร์เรย์?
มีสองวิธีคือ จะเขียนมัน syntactically
แต่ตอนนี้น่าจะเป็นมากที่สุด ที่พบมากในขณะนี้เพียงแค่ใช้ตาราง
สัญกรณ์วงเล็บ
ดังนั้นนี้เป็นตัวแปร โทรไปยังหมายเลขที่มีอาร์เรย์
หกจำนวนเต็มมี นี่เป็นสตริงง่าย
และแจ้งให้ทราบว่ามีอะไรหายไป จากตัวอย่างเหล่านี้
สิ่งที่เป็น JavaScript เห็นได้ชัดว่าขาด
ใช่ ดังนั้นไม่มีความคิด พิมพ์ไม่แน่นอน
ในบริบทนี้ที่นี่ แต่ นี้แน่นอนสตริง
ดังนั้นจาวาสคริปต์ได้ประเภท และที่แน่นอนอาร์เรย์
ซึ่งเป็นตัวประเภท และแต่ละองค์ประกอบ
ในอาร์เรย์ที่มีประเภท จำนวนเป็น JavaScript เรียกพวกเขา
ดังนั้นจึงพิมพ์อย่างอิสระ ภาษาและเราจะเห็น
จาวาสคริปต์เช่น PHP ที่ มีผู้ประกอบการเป็นตัวตน
และกลไกอื่น ๆ จริงการตรวจสอบชนิด
ของตัวแปรบาง ทั้งสำหรับการตรวจสอบข้อผิดพลาด
และสำหรับการใช้งานอื่น ๆ
และนี่คือตัวอย่างวัตถุ ที่มีเพียง ID และชื่อ
และตอนนี้สังเกตเห็นว่าเรา ใช้เครื่องหมายวงเล็บปีกกา
เยื้องและสีขาว พื้นที่มีการเรียงลำดับของความหมาย
และประกาศ ตัวแปรที่มีชื่อร็อบ
และมี ID คือ 1 และ ประเภทวันที่อยู่ที่นี่จำนวนของเรา
และสตริงตามลำดับ
และนี่คือ สิ่งที่แตกต่างกันเล็กน้อย
ถ้าคุณเคยทำอะไร อาแจ็กซ์ที่มีวันนี้
คุณอาจใช้ วัตถุเช่นนี้
แต่เป็นมูลค่า noting ที่นี่คืออะไร
เป็น syntactically เคยอะไร ที่แตกต่างกันเพื่อให้เพียงไม่กี่
สิ่งระหว่างตัวอย่างนี้ ซึ่งเป็นที่ยอมรับขนาดเล็ก
และขนาดใหญ่เช่นนี้
ดังนั้นครั้งแรกในของคนธรรมดา คำสิ่งนี้คืออะไร
เป็นชนิดของสิ่งที่ พนักงานที่คุณจะพูด
ตกลงมันเป็นอาร์เรย์ เป็นอาร์เรย์ของสิ่งที่?
>> วัตถุ
>> ตกลงมันเป็นอาร์เรย์ของว​​ัตถุ
และตอนนี้มุ่งเน้นเพียงหนึ่ง - คนใดคนหนึ่งของวัตถุเหล่านี้
สิ่งที่แตกต่างกัน ระหว่างนี้และนี้
>> คีย์เป็นสตริง
>> ใช่ ดังนั้น คีย์เป็นสตริง
และปุ่มเป็นจริง สตริงในทั้งสองกรณี
และนี่คือการจัดเรียงของ Idiotic
ในความคิดของการออกแบบในอดีตของฉัน การตัดสินใจเมื่อใดก็ตามที่คุณกำลังใช้
JSON, JavaScript สัญกรณ์วัตถุ
ซึ่งเป็นหลัก รูปแบบการขนส่ง
สำหรับการส่งข้อมูล โดยทั่วไปในเครือข่าย
ระหว่างลูกค้าและเซิร์ฟเวอร์ คุณต้องจำไว้
ว่าไม่เป็นความจริง JSON ที่ถูกต้องและนี่คือหนึ่ง
ของ FYIs เหล่านี้ถ้าคุณเคย ปังหัวของคุณกับผนัง
เป็นเวลาหลายนาทีเพื่อให้ไม่ดี เหตุผลก็ไม่ถูกต้อง JSON
เพราะปุ่มกดมี ไม่ได้ยกมาจริง
JSON อย่างบ้ากำหนดว่า คีย์ไม่เพียง แต่จะอ้าง
แต่ที่พวกเขาจะยกมาทวีคูณ ราคาเดียวไม่พอเพียง
ดังนั้นสิ่งเล็กน้อยโง่ และอื่น ๆ ของความเป็นจริงที่สนุก
สำหรับวัตถุประสงค์ของว​​ันนี้ แต่นี้ ก็จะมีผลบังคับใช้ JavaScript
มันเป็นเพียงไม่ - สนทนาไม่เป็นความจริง
ขวาทั้งหมด
ดังนั้นเราจะเห็นมากมาย มากขึ้นจากการที่
ขวาทั้งหมด
ดังนั้นที่ JavaScript syntactically อาจจะสวย
ที่คุ้นเคยใด ๆ ของคุณที่มี ไม่เคยใช้งานจาวาสคริปต์ก่อน
จะไม่ก้าวกระโดดอย่างมากจาก PHP หรือส่วนใหญ่ภาษากระบวนการใด ๆ
ที่คุณอาจได้ใช้
ดังนั้นวันนี้เราจะมุ่งเน้นไปที่ ด้านที่น่าสนใจ
โดยเฉพาะอย่างยิ่งของ JavaScript ในบริบทของการไม่มี JS
แต่ไม่เฉพาะเพราะ จนถึงขณะนี้ที่คุณอาจจะ
ถ้าคุณใช้จาวาสคริ ใช้มันภายในของเบราว์เซอร์
ดังนั้นไม่ JS เป็นสภาพแวดล้อม แล้วนิด ๆ หน่อย ๆ ที่เป็นไป
ที่จะช่วยให้เราสามารถเข้าถึง ลูกค้ารหัส JavaScript -
ฝั่งเซิร์ฟเวอร์ แต่แรก ลองมาดู
ที่สิ่งที่ ด้านลูกค้าน้อย
ดังนั้นฉันได้ไปในและนี่คือ ที่เชื่อมโยงกับเว็บไซต์ของหลักสูตร
ถ้าคุณต้องการที่จะเล่นพร้อม มีสองไดเรกทอรีย่อย
Zip ในปัจจุบันของการที่เรียกว่า แหล่งกระดุมซิปบนเว็บไซต์
และเหล่านี้เป็นเพียง ตัวอย่างความหลัง
ของสิ่งที่คุณอาจได้เห็น ก่อนและผมจัดเรียงของพวกเขาสร้างขึ้น
เพิ่มขึ้นจากง่ายที่สุดในการเล็กน้อย ที่ซับซ้อนมากขึ้นในการหยอกล้อ
ออกบางส่วนของคุณสมบัติ ของ JavaScript
ดังนั้นขอไปข้างหน้าและใช้เวลา ลักษณะเช่นนี้
ดังนั้นเศร้าแท็กกระพริบตาได้ ฆ่าตายเมื่อหลายปีก่อน
เป็นวิธีการได้มี สวยและน่ารัก
และแท็กกระพริบตาเป็นตัวอักษร วงเล็บเปิดกระพริบวงเล็บปิด
และมันไม่มีการเรียงลำดับของ อีกต่อไปกับเรา
แต่เรายังสามารถรื้อฟื้น ความคิดนี้ของแท็กโดยเพียงแค่ชนิด
คิดเกี่ยวกับมัน มีเหตุผลอย่างไรที่คุณจะไป
เกี่ยวกับการทำสิ่งที่ชอบ นี้กระพริบตาอย่างสังหรณ์ใจ?
สมมติว่าคุณรู้น้อย บิตของ JavaScript และ CSS หรือ
ณ จุดนี้ก็ ตกลงถ้าคุณทำไม่ได้
>> ตั้งเวลาออกและซ่อน จากนั้นหลังจากที่ฉันจะแท็ก
ออกมาและแสดงให้เห็นอีกครั้ง
>> ใช่ที่สมบูรณ์แบบ
นี้จะเรียงลำดับของการเขียนโปรแกรม 101,
วิธีการที่คุณจะประสบความสำเร็จ ผลภาพเช่นนี้หรือไม่
ดีคุณอย่างใด ต้องแสดงให้เห็นบางสิ่งบางอย่าง
แล้วซ่อนอะไรบางอย่างที่แสดง สิ่งที่ซ่อนอะไรบางอย่าง
และในขณะที่โจนาธานเสนอ ใช้ชนิดของเวลาในการออกบางส่วน
บางชนิดของตารางที่คุณสามารถทำได้ นี้ซ้ำแล้วซ้ำอีกโดยไม่จำเป็นต้อง
ที่จะใช้ห่วงหรือ สิ่งที่ต้องการที่
เพื่อให้ฉันไปในพริบ-0.html
และแจ้งให้เราหดตัวลง ตัวอักษรนิด ๆ หน่อย ๆ
เพื่อให้พอดีมากขึ้นนี้
และลองมาดู ที่สิ่งที่เกิดขึ้นที่นี่
ดังนั้นแรกของทั้งหมด สังเกตเห็นว่าร่างกาย
ของหน้านี้เป็นซุปเปอร์ ง่ายภายในของร่างกาย
ของหน้าเว็บเป็นเพียง div
ฉันได้รับพล ID ของอวยพร
และที่จะเป็นอะไร ตราบเท่าที่มันไม่ซ้ำกัน
แล้วผมก็มีบางส่วน ข้อความง่ายๆสวัสดีโลก
ดังนั้นถ้าตอนนี้ผมเลื่อนขึ้น จัดแต่งทรงผมสังเกตเห็นบางนุ่ม
ดังนั้นผมจึงบอกว่าคมชัด อวยพรซึ่งเท่าที่ทราบ
ใน CSS ก็หมายความว่าไม่ซ้ำกัน ระบุองค์ประกอบที่ต้องการ
กับความคิดของอวยพร,
ขนาดตัวอักษรเป็นไปโดยพล เป็นนี้ขอบและข้อความชิด
ดังนั้นไม่น่าทึ่ง รายละเอียดความงาม
คร่าว ๆ ศูนย์ข้อความ
ดังนั้นส่วนหนึ่งที่น่าสนใจคือ ในสคริปต์แท็กที่นี่
ซึ่งผมก็เพิ่งใส่ใน ของส่วนหัวของหน้า
ดังนั้น we'll - ที่คุณสามารถทำได้ นี้ในหลายวิธีใด ๆ
และเราจะเห็นเพียงไม่กี่ ซ้ำของโปรแกรมเดียวกันนี้
แต่ขอเริ่มต้นจากด้านบน
ดังนั้นฉันจึงได้ประกาศให้เป็น ฟังก์ชั่นที่เรียกว่ากระพริบตา
และเห็นได้ชัดว่าจะใช้นี้ ในตัววิธี DOM ที่เรียกว่า
getElementById ซึ่งอาจจะเป็น หนึ่งในวิธีที่มีประสิทธิภาพมากขึ้น
ที่คุณจะได้รับออกมาจากกล่อง ด้วย JavaScript มองหา
"อวยพร" ไม่จำเป็นต้อง เป็นคำพูดสองเหมือนมันเป็น
ใน HTML ที่เป็นอย่างใดอย่างหนึ่ง ดีนาน ๆ
ที่คุณมี stylistically ที่สอดคล้องกันวันนี้ผมกล้าพูด
คนจำนวนมากใช้ Java, ราคาเดียวใน JavaScript,
คำพูดสองใน HTML แต่ มันไม่ได้เรื่องจริงๆ
ตราบใดที่คุณกำลังที่สอดคล้องกัน
ดังนั้นที่นี่ถ้าคุณไม่คุ้นเคย จริงคุณสามารถเข้าถึง
ด้วย CSS JavaScript คุณสมบัติในองค์ประกอบ
ดังนั้นสังเกตเห็นว่าฉันได้ ประกาศตัวแปรที่เรียกว่า div
และเก็บไว้ภายใน ของตัวแปรที่
การอ้างอิงถึงสิ่งที่ องค์ประกอบ DOM ที่เป็น
ดังนั้นถ้าคุณคิดว่ากลับไป CS50 หรือ ระดับใดที่คุณคิดว่า
เกี่ยวกับโครงสร้างและต้นไม้ DOM เอกสารรุ่นวัตถุ
นี้เป็นเพียงการอ้างอิง ไปยังโหนดในต้นไม้
ที่แสดงถึงหน้านี้
และหาก div.style.visibility สถานที่ให้บริการเท่ากับเท่ากับเท่ากับ
ที่ซ่อนอยู่แล้วฉันเพียงแค่ ต้องการสลับมัน
เป็นโจนาธานนำเสนอ อย่างอื่นผมต้องการ
เพื่อสลับไปยังที่ซ่อนอยู่
ขณะนี้เป็นในด้านที่ว่าทำไม สามเท่ากับมี
หรือคือสิ่งที่เมื่อเทียบกับ เท่ากับสอง?
>> เทียบเท่าเข้มงวด
>> ขออภัย
>> เทียบเท่าเข้มงวด
ดังนั้นจึงเป็นตัวตนของผู้ประกอบการ
ที่คุณกำลังตรวจสอบไม่ได้ เพียง แต่ค่าของตัวแปร
เป็นเท่ากับความรู้สึกที่เท่าเทียมกัน แต่ยังชนิดของมัน
ดังนั้นแม้ว่าเราไม่ได้ ระบุได้ไกลถึงขนาดนี้ข้อมูลใด ๆ
สำหรับตัวแปรประเภทใดใน นี้หรือใด ๆ ของภาพนิ่ง
มีประเภทที่เกี่ยวข้อง ด้วยสตริงที่ซ่อนอยู่
ที่มีค่าที่ซ่อนอยู่และ ที่เป็นของสายแน่นอน
ดังนั้นในกรณีนี้มัน ไม่ได้เรื่องจริงๆ
เพราะมีวิธีการที่ไม่ได้ เรากำลังจะ conflate สตริง
ของ "ซ่อน" กับ บางค่าอื่น
แต่นี้มักจะเป็นที่ดี นิสัยผมจะบอกว่าที่จะได้รับ
ในการใช้เท่ากันเท่ากัน
เครื่องหมายเท่ากับทั่วไป เป็นสิ่งที่ดี
มันจะทำให้รหัสของคุณ มีประสิทธิภาพมากขึ้นทั้งใน PHP แต่
และใน JavaScript เพราะคุณจะทำงาน
เป็นครั้งคราวกรณีมุม ที่มีค่าอาจจะเป็นศูนย์
ที่คุณกำลังตรวจสอบและ ศูนย์สามารถแฟทด้วยเท็จ
หรืออาจจะไม่ได้และเป็นใน PHP
Javascript ก็สามารถมีหลาย ค่าเท็จที่ด้วยศูนย์
และเท็จและโมฆะและไม่ได้กำหนด ทุกคนสามารถแก้ไขโดยปริยาย
เป็นเท็จ
แต่ถ้าคุณต้องการจริงๆ เพื่อตรวจสอบค่าโดยเฉพาะอย่างยิ่ง
เช่นศูนย์จำนวนหรือ เท็จบูลีนแล้วคุณมี
ที่จะใช้ประกอบเป็นตัวตนนี้
ดังนั้นมันอาจจะเกิดขึ้นได้ เข้าไปอยู่แล้วแม้ว่าที่นี่
มันเรียงลำดับของความหมาย เพราะเรารู้ว่าเรากำลังตรวจสอบ
ค่าสตริงและเป็น จะไม่ได้อะไรอย่างอื่น
ดังนั้นนี่คือความมหัศจรรย์แล้วถ้าฉัน เลื่อนลงไปที่บรรทัดนี้ที่นี่
เห็นได้ชัดว่าสร้างขึ้น เป็นวัตถุหน้าต่าง
และนี่คือคุณสมบัติของ เบราว์เซอร์ที่คุณสามารถเข้าถึง
นี้สุดทั่วโลก วัตถุที่เรียกว่าหน้าต่าง
ภายในที่เป็น บางฟังก์ชั่น
ถ้าชิ้นที่ มีการตั้งค่าช่วงเวลา
และจะใช้เวลาที่เห็นได้ชัด สิ่งที่ชนิดของการขัดแย้ง?
ใช่
>> โทรฟังก์ชั่นและเวลา
>> ดี ดังนั้นฟังก์ชั่น โทรและเวลา
และอื่น ๆ โดยเฉพาะอย่างยิ่ง อ้างอิงไปยังฟังก์ชั่น
ตัวชี้ไปยังฟังก์ชั่น ในความรู้สึก
และที่เป็นฟังก์ชั่น ที่จะ
จะได้รับการดำเนินการจำนวนของทุก มิลลิวินาทีและในกรณีนี้
มันทุก 500 มิลลิวินาที
ดังนั้นจึงเป็นวิธีการกระตุ้น อย่างมีประสิทธิภาพและห่วงอนันต์
โดยไม่ต้องใช้ซ้ำ แต่ แทนที่จะบอก JavaScript
กับเครื่องยนต์ภายใน ของเบราว์เซอร์
การทำเช่นนี้ทุกครั้งที่ 500 มิลลิวินาทีหรืออยู่ใกล้
500 มิลลิวินาทีในขณะที่มันสามารถจะทำได้
ปรากฎว่า ภายใต้ประทุน
มีสิ่งที่เรียกว่าเหตุการณ์ ห่วงและเราจะกลับมาที่นี้
ในบริบทของโหนด JS ที่เพียงแค่อย่างต่อเนื่องชนิด
ของการนั่งมีปั่น รองานที่จะทำ
และเร็วที่สุดเท่าที่จะตระหนักถึง
500 มิลลิวินาทีได้ผ่าน กระพริบตาจะได้รับการเรียกอีกครั้ง
และอีกครั้งและอีกครั้ง ควบคู่ไปกับการทำงานอื่น ๆ
ที่จำเป็นต้องได้รับการกระทำ
ดังนั้นสิ่งที่เราสามารถปรับปรุงที่นี่
ดีให้ฉันเปิด ขึ้นพริบ-1.html
และแสดงให้เห็นถึงการกระพริบ-1.html
เป็นสกอร์ เหมือนกันอย่างสมบูรณ์แบบ
ดังนั้นสิ่งที่เราสามารถปรับปรุงที่นี่
ดีแจ้งให้ทราบว่า เป็นชนิดของไร้ประโยชน์
เพื่อกำหนดฟังก์ชั่นที่เรียกว่า กระพริบตาเพราะจำนวน
ในวิธีการที่หลายสถานที่ไม่ฉัน เรียกพริบฟังก์ชั่นหรือไม่
>> เพียงแค่ครั้งเดียว
>> ดังนั้นหนึ่ง
ดังนั้นมันก็ไม่ได้เลวร้ายใน ความเป็นจริงมันอาจจะสวย
ตรงไปข้างหน้า
ฉันกำหนดพริบฟังก์ชั่นที่ผม เรียกฟังก์ชั่นการกระพริบตาโดยวิธี
ของพารามิเตอร์นี้ แต่ทางเทคนิค
ไม่มีเหตุผล และกระบวนทัศน์ร่วมกัน
ใน JavaScript เป็นจริง ทำให้การใช้งานฟังก์ชั่นแลมบ์ดา
ที่คุณอาจจำจาก 51 หรือฟังก์ชั่นที่ไม่ระบุชื่อ
ซึ่งถ้าคุณไม่จำเป็นต้อง ชื่อของฟังก์ชั่นที่
ถ้าคุณเท่านั้นที่จะเรียกมันว่า อย่างแน่นอนในสถานที่หนึ่ง
ทำไมรำคาญ cluttering รหัสของคุณ cluttering ใจโปรแกรมเมอร์
และชื่อของคุณพื้นที่ จริงๆที่มีสัญลักษณ์
ที่คุณทำไม่ได้จริงๆ จำเป็นที่จะต้องดูแลเกี่ยวกับ
ดังนั้นในรุ่นนี้ที่นี่
สังเกตเห็นว่าฉันโทร window.SetInterval โดยตรง
ที่ส่วนบนสุดของฉัน แท็กสคริปต์แล้วฉันผ่าน
ในฟังก์ชั่นนิรนาม ที่จะเกิดการขัดแย้งใด
และที่สมบูรณ์แบบ ดีและแล้วร่างกาย
ฟังก์ชั่นที่จะปรากฏเป็น เหมือนกันกับสิ่งที่มันเป็นก่อนที่จะ
และประโยคเดียว ความแตกต่างในขณะนี้คือ
ลงที่นี่ต่อไปถึง 500
ฉันปิดร่างกาย ฟังก์ชั่น
แล้วที่ฉันพูด รันโค้ดก่อนหน้านี้ที่,
ทุก 500 มิลลิวินาที
การเปลี่ยนแปลงดังนั้นเล็กน้อยมาก
แต่ขั้นตอนต่อสิ่งที่ อาจจะหรูหรามากขึ้น
การดำเนินการนี​​้
ดังนั้นขอใช้เวลาหนึ่งนี้ ขั้นตอนต่อไปถ้าตอนนี้ผมไป
ลงในพริบสองคุณจะ เห็นห้องสมุดทั่วไป
ผลของการที่จะไป
จะไม่สมเหตุผลอย่างสมบูรณ์ ความสุนทรีย์ แต่ถ้าเราไป
เป็นสองรุ่นที่นี่แจ้งให้ทราบล่วงหน้า ที่ด้านบนของหัวของฉัน
เราได้รวม รุ่นล่าสุดของ JQuery
แล้วลงที่นี่ ฉันเพียงแค่ทำความสะอาด
รหัสนิด ๆ หน่อย ๆ ก็ จะไม่เป็นโลกที่สนุกสนาน
เพื่อดำเนินการต่อโดยใช้ ฟังก์ชั่น DOM พื้นเมือง
และการจัดเรียงของดิบ JavaScript
ในความเป็นจริง JQuery ที่คุณอาจจะ รู้ได้กลายเป็นที่นิยมกันมาก
ที่คนส่วนใหญ่เพียงแค่ ความขัดแย้งด้วย jQuery JavaScript
แต่จริงๆเพียงแค่อาหารเย็น ห้องสมุดที่มีประโยชน์เป็นลายลักษณ์อักษร
โดยเพื่อนชื่อจอห์น Resig และตั้งแต่คนอื่น ๆ
ที่มีเพียงแค่ทำให้ มากสิ่งที่น่าเบื่อ
ใน JavaScript ง่ายขึ้น และรวบรัดมากขึ้น
ดังนั้นในกรณีนี้ ที่นี่สิ่งที่เกิดขึ้น?
ดังนั้นฉันจึงมีลักษณะของการนี​​้ เครื่องหมายดอลลาร์, เพิ่มเติมว่า
ในเวลาเพียงสักครู่แล้ว นี้เป็นเลือก CSS
ดังนั้นจึงเป็นที่คล้ายกันมากใน จิตวิญญาณกับสิ่งที่ผมทำมาก่อน
แต่คราวนี้ผม ตัวอักษรใช้แท็กแฮช
เพื่อระบุที่ไม่ซ้ำกัน ระบุเรียกอวยพร
แล้วเห็นได้ชัดว่า . css ที่เป็นวิธีการที่สร้างขึ้น
ในสิ่งที่วัตถุ คือว่าผมเพิ่งสร้าง
และฉันตรวจสอบค่า ที่สำคัญการมองเห็น
และถ้าค่าของคีย์ที่ เท่ากับเท่ากับเท่ากับซ่อน
แล้วฉันจะสลับมันและ ฉันจะสลับเวลานี้
โดยใช้วิธีการเดียวกัน ซึ่งเห็นได้ชัดว่ามีมากเกินไป
ในแง่ที่ว่ามันมี สองลายเซ็นที่แตกต่างกัน
เป็นหนึ่งเดียวกับอาร์กิวเมนต์หนึ่งและ หนึ่งกับสองข้อโต้แย้ง
ที่สองที่ เป็นหมาที่
อดีตซึ่งเป็น ทะเยอทะยานจึงจะพูด
และถ้าอยากรู้อยากเห็นและหากคุณต้องการ ไม่เคยมองจริงในข้อนี้
ถ้าเราจะไปหวังว่า jquery.css ยอดฮิตเป็นจริงนี้
และคุณสามารถดูรายละเอียดเพิ่มเติม คำอธิบายอย่างเป็นทางการ
ที่เราเพียงแค่ใช้นี้ . css ที่มีชื่อสถานที่ให้บริการ
แล้วหมาเป็นจุด CSS
ที่มีชื่อสถานที่ให้บริการ และมูลค่า
ดังนั้นการทำความสะอาดเล็กน้อย แต่ สังเกตเห็นการจัดเรียงของรูปแบบที่นี่
ด้วยซ้ำในแต่ละ ของรหัสนี้
เรากำลังจัดเรียงของการทำให้ ที่เข้มงวดมากขึ้นและเข้มงวดมากขึ้นและเข้มงวดมากขึ้น
และมีการออกแบบที่ดีกว่าการพูด
เนื่องจากเรามีการใช้คน รหัสอื่นที่ตกรอบ
บางส่วนของความซับซ้อน
ดังนั้นตอนนี้ขอให้ นี้ได้ง่าย
และในความเป็นจริงถ้าผมลบทั้งหมด คำพูดที่คุณจะเห็นเพียงแค่
แสดงความคิดเห็นที่คุณจะเห็นว่า แบบนี้มีอากาศ
หนึ่งความแตกต่าง ที่นี่แน่นอน
ที่ฉันใช้สลับ วิธีการที่ยังมาสร้าง
ใน jQuery และที่ว่าเพียงแค่
เพราะคนอื่น เขียนรหัส
ที่จริงสลับ การตั้งค่าการแสดงผล
ขององค์ประกอบ DOM ใด ๆ ที่คุณส่ง
ดังนั้นที่ดีกว่าและดีกว่า
และเช่นนี้เป็นรูปแบบ
แม้ว่านี้เป็นอาหารเย็น ตัวอย่างที่ง่ายและการจัดเรียง
ของผลกระทบสุทธิที่โง่ เป็นชิ้นกระพริบข้อความ
มันเป็นชนิดของความคิดที่ว่า กระบวนการที่คุณควรคิดว่า -
จะคิดเกี่ยวกับการไม่ จำเป็นต้องเป็นครั้งแรก
การเขียนสิ่งที่อยู่เฉยๆ สำหรับโครงการที่กำลังจะมา
แต่แน่นอนที่คุณย้ำ ด้วยที่ปรึกษาของคุณหรือกับฉัน
และการประชุมทีมงานของคุณหรือคุณ เพียงแค่ตรวจสอบรหัสของคุณเพื่อนร่วมทีม
เกี่ยวกับการกระชับ สิ่งที่ขึ้นใช่มั้ย
หลังจากที่ทั้งหมดที่พวกเขากำลังน้อยกว่า -
สายน้อยของรหัส ในที่สุดคุณมี
ในทฤษฎีข้อผิดพลาดน้อยกว่าคุณ มีแนวโน้มที่จะได้รับการเชิญชวนให้
เพราะมีเพียง รหัสน้อยที่จะเลอะด้วย
ขวาทั้งหมด
ดังนั้นสองคบ
ฟังก์ชั่นแลมบ์ดา ฟังก์ชั่นที่ไม่ระบุชื่อ
หลายแห่งซึ่งคุณ ได้เห็นมาก่อน
และจากนั้นก็เป็นเพียงแค่กระชับ สิ่งที่ขึ้นกับห้องสมุด
เช่น jQuery ในครั้งนี้ กรณีพิเศษ
ขวาทั้งหมด
คำถามใด?
ขอทำคนอื่น ๆ ด้านฝั่งไคลเอ็นต์ที่นี่
ในรูปแบบศูนย์เรามี ผลสุทธินี้
รูปแบบที่ง่ายและเห็นได้ชัดว่า ถ้าฉันพยายามที่จะคลิกลงทะเบียนที่นี่
ตอนแรกมันบอกฉันคุณมี ลงทะเบียนกันไม่ได้จริงๆ
ดีทำไมจึงเป็นเช่นนั้น
ดีที่นี่เป็นแบบฟอร์ม 0.html รหัสน้อยมาก
ไม่ว่ากรณีใด ๆ และ JavaScript มันสมบูรณ์แบบปลอม
เพราะรูปแบบการดำเนินการ ค่า registered.html
ซึ่งหมายความว่าไม่ว่าสิ่งที่ ฉันพิมพ์ลงในแบบฟอร์มนี้
ที่มันจะไป ถูกส่งบนเซิร์ฟเวอร์หรือไม่
ใช่ ดังนั้นเพื่อ registered.html ซึ่งเป็นไฟล์ HTML ได้อย่างชัดเจน
ซึ่งจึงเป็นแบบคงที่ ไฟล์ที่มีไม่ได้หมายความว่า
ในการเข้าของผู้ใช้สมมติว่า ไม่มีรหัส JavaScript
มันฝังอยู่ในที่ มองใน URL
ดังนั้นนี้เป็นอย่างสมบูรณ์และ NOOP อะไรที่จะเกิดขึ้น
ด้วยข้อมูลที่ส่ง แต่ คุณสามารถมองเห็นโครงสร้าง
รูปแบบ HTML5 ที่ค่อนข้างง่าย
ที่มีรหัสผ่านไม่กี่ รูปแบบการใส่ไม่กี่
ดังนั้นขอจริงในขณะนี้ เพิ่มการตรวจสอบข้อผิดพลาดบาง
และดูว่าเราอาจจะ ปรับปรุงนี้
ดังนั้นนี่คือการจัดเรียงของคนยากจน วิธีการของมนุษย์ในการดำเนินการนี​​้
และก็มีการเรียงลำดับของ อันน่ารังเกียจของรหัส
ดังนั้นก่อนขอเลื่อน ลงไปด้านล่าง
ที่จะดูว่ามีอะไรที่เหมือนกัน และสิ่งที่แตกต่างกัน
สิ่งเดียวที่แตกต่างกัน ตอนนี้ระหว่างนี้
และรุ่นก่อนหน้านี้ ที่ฉันได้รับแบบฟอร์มและ ID
ของ "การลงทะเบียน" ได้ มีอะไรที่ฉันต้องการรับ
แต่หมายถึงการเป็นที่ไม่ซ้ำกัน ที่สามารถระบุได้ว่าเป็นไม่ได้
จำเป็นอย่างเคร่งครัดเพราะถ้า มีเพียงรูปแบบหนึ่งแน่นอนฉัน
สามารถพบกับหนึ่งใน ของ jQuery วิธีการเลือก
แต่วิธีนี้ก็ทำให้ มันกำหนดขึ้น
ดังนั้นถ้าผมขึ้นไปตอนนี้สคริปต์ของฉัน แท็กแจ้งให้ทราบต่อไปนี้
เท่ากับ window.onload ฟังก์ชั่นที่ไม่ระบุชื่อ
ดังนั้นสิ่งที่นี้ทำอะไร
ดังนั้นคุณอาจจะจำได้ว่าใน การเขียนโปรแกรมฝั่งไคลเอนต์ -
JavaScript หน้า HTML ค่อนข้าง มีเหตุการณ์ต่างๆที่เกี่ยวข้อง
ด้วยองค์ประกอบคลิก และส่งและมุ่งเน้น
และเบลอและอื่น ๆ เช่น เหตุการณ์ที่อาจเกิดขึ้น
เป็นผู้ใช้ทั่วไป โต้ตอบกับหน้า
window.onload ไม่สิ่งที่กล่าว
บนหน้าต่างทั้งหมดโหลด
ดังนั้นเมื่อภาพทั้งหมดที่ได้รับ เมื่อดาวน์โหลดไฟล์ทั้งหมดได้
รับการดาวน์โหลดและเมื่อ หน้าได้รับการโหลด
ทำรหัสต่อไปนี้ แจ้งให้ทราบถ้าฉันสลับไปที่ด้านล่าง
ของวิธีนี้สังเกตว่า ไม่มีวงเล็บ
หลังจากวงเล็บปีกกา ซึ่งก็คือการบอกว่า
ที่ฉันไม่ได้ดำเนินการ ฟังก์ชั่นนี้ขึ้นที่นี่ตอนนี้
เบราว์เซอร์ที่เป็นไปที่จะดำเนินการ สำหรับฉันเมื่อมันได้กำหนด
ว่าหน้ามีการโหลด
ดังนั้นเรามาดูสิ่งที่เราได้ทำ
document.getElementById การลงทะเบียน
เพื่อให้เพียงแค่ให้ฉัน การอ้างอิงไปยังโหนด
ในต้นไม้ที่มีของ ID ของการลงทะเบียน
และตอนนี้ผมกำลังจะไป ลงทะเบียนตัวจัดการเหตุการณ์อื่น
ด้วยการทำ form.onsubmit ได้รับ ฟังก์ชั่นที่ไม่ระบุชื่อนี้
ซึ่งหมายความว่าต่อไปนี้ รหัสควรจะดำเนินการเมื่อใดก็ตามที่
รูปแบบที่มีการส่ง
ตอนนี้ส่วนใหญ่นี้เป็นเพียง การจัดเรียงของที่น่าเบื่อตรรกะ
ดังนั้นถ้าค่าของ เขตอีเมล์ในรูปแบบที่เป็น
"อะไร" แล้วคุณจะต้อง ให้ที่อยู่อีเมลของคุณ
คุณตะโกนใส่หน้าผู้ใช้ที่มี แจ้งเตือนแล้วกลับเท็จ
และแล้วฉันมี พวงของการตรวจสอบอื่น ๆ
การตรวจสอบรหัสผ่านของ
การตรวจสอบในกรณีที่ รหัสผ่านที่เหมือนกัน
การตรวจสอบในกรณีที่ข้อตกลง กล่องกาเครื่องหมายถูกตรวจสอบหรือไม่
และฉันก็ตะโกนใส่ ผู้ใช้ถ้าใด ๆ
ของการทดสอบเหล่านั้นไม่จริง
และเพื่อให้ที่นี่เป็นตัวอย่างได้ แม้ว่าจะวางแผนน้อย
ที่นี่ความจริงที่ว่าผมใช้ เท่ากับเท่ากับเท่ากับ
หมายความว่าผู้ใช้ ไม่สามารถพยายามที่จะหลอกลวงฉัน
โดยการพิมพ์ค่าสิ่งที่
หรือมากกว่าผมอย่างแท้จริง การตรวจสอบสำหรับการแสดง
ของสตริงที่ว่างเปล่าผู้ใช้ ยังไม่ได้พิมพ์อะไรยัง
หากผู้ใช้พิมพ์ แท้จริงในศูนย์
"ศูนย์" อาจจะเป็น สับสนกับสตริงที่ว่างเปล่า
และผมก็บอกว่ามันเป็นประเภท ความหมายของที่นี่
เพราะเห็นได้ชัดแม้จะเป็นศูนย์ ไม่ได้เป็นที่อยู่อีเมล
แต่ถ้าเรื่องนี้เป็นมากขึ้น สนามทั่วไปเช่นช่องข้อความ
หรือชื่อหรือคำอธิบายหรือ สิ่งที่คุณต้องการที่จะคุ้มค่า
และก็ไม่จำเป็นต้อง syntactically มี
ให้เป็นที่อยู่อีเมลของผู้ใช้ สามารถพิมพ์สิ่งที่ต้องการเป็นศูนย์
และอีกครั้งกรณีมุม แต่ที่ ทำไมการตรวจสอบมักจะเป็นประเภท
สิ่งที่มีประโยชน์
คุณกำลังตรวจสอบอย่างแท้จริง ผู้ใช้ต้องพิมพ์อะไร
ลงในช่องที่
ดังนั้นสิ่งที่เกิดขึ้นถ้าไม่มี ของการทดสอบเหล่านั้นไม่ดี
กลับจริงภายใน ของการจัดการเหตุการณ์
เช่น onsubmit ก็หมายความว่าปล่อยให้ พฤติกรรมเดิมจริง
เผยแพร่และดังนั้นจึง รูปแบบจะได้รับการส่ง
และนั่นเป็นเหตุผลที่เมื่อฉันสุดท้าย คลิกส่งก่อนที่ฉันได้
ผ่านไป register.html และ ถ้าฉันทำอย่างนั้นตอนนี้แจ้งให้ทราบล่วงหน้า
ฉันได้รับการตะโกนใส่ถ้าผมทำไม่ได้ ให้ที่อยู่อีเมล
และฉันสามารถพิมพ์ใน malan@harvard.edu,
สีแดงเข้ม [ออกเสียง] สีแดงเข้มการตรวจสอบกล่อง
และตอนนี้ลงทะเบียนและ มันบอกฉันอีกครั้ง
คุณได้รับการจดทะเบียน หรือไม่ได้จริงๆ
ขวาทั้งหมด
ดังนั้นขอทำความสะอาดนี้ขึ้นเพียง นิด ๆ หน่อย ๆ และการเปลี่ยนแปลงแล้ว
ที่ใหม่ที่ใหม่กว่า สิ่งที่ฝั่งเซิร์ฟเวอร์
ดังนั้นถ้าฉันไปเป็นรูปแบบ-2.html, สังเกตเห็นบางสิ่งที่
ดังนั้นหนึ่งที่ผมนำ jQuery กลับเข้ามาผสม
จึงมีอีกครั้ง เครื่องหมายดอลลาร์นี้
และตอนนี้ผมใช้ บางวิธีการ jQuery
ดังนั้นครั้งแรกมันเป็นสิ่งที่เกี่ยวกับ เครื่องหมายดอลลาร์ที่
พิเศษที่นี่
เป็นสิ่งที่เจือเครื่องหมายดอลลาร์ ตลอดเวลาส่วนใหญ่รหัส jQuery ใด ๆ
ใช่
[ไม่ได้ยินหมายเหตุ]
ตกลง ดังนั้นการทำงานของเครื่องหมายดอลลาร์ ผ่านไป DOM ที่กำลังมองหา
บางสิ่งบางอย่างเกี่ยวกับเรื่องนี้ เลือก CSS โดยเฉพาะอย่างยิ่ง
ดังนั้นความจริง แต่เกือบแม่นยำเกินไป
นั่นคือสิ่งที่เกิดขึ้น เมื่อคุณผ่านในสตริง
เช่นในกรณีนี้ แต่คุณทำไม่ได้ มักจะมีที่จะผ่านในสตริง
ในความเป็นจริงในกรณีที่จุดมาก บรรทัดแรกที่นี่เป็นแบบนี้ไม่ได้
เลือก CSS ฉันผ่าน ในฟังก์ชั่นแลมบ์ดา
ดังนั้นโดยทั่วไป - ดังนั้น คำตอบที่ดี แต่มีความแม่นยำเกินไป
โดยทั่วไปสิ่งที่เป็น เครื่องหมายดอลลาร์เป็นตัวแทน
>> เพียง jQuery
>> ใช่ ดังนั้นเพียงแค่ jQuery หรือจะเป็นเพียงฟังก์ชั่น
ว่าบางปีที่ผ่านมาคนที่แต่งตัวประหลาด เขียนและคนอื่น ๆ ได้
การปรับปรุงตั้งแต่ที่แท้จริง โดยเริ่มต้นที่เรียกว่า -
อุ๊ปส์จะเรียกว่า jQuery
มันก็ - มันจะเปลี่ยน ออกมาแตกต่างมาก
ของป้ายภาษาดอลลาร์เป็น สัญลักษณ์ที่ถูกต้องสมบูรณ์ที่จะใช้
ในชื่อของตัวแปรในขณะที่
ในเครื่องหมายดอลลาร์ PHP เห็นได้ชัดว่ามีความหมายพิเศษ
แต่ใน JavaScript เหมือนใน บางภาษาเครื่องหมายดอลลาร์
และขีดเส้นใต้และอื่น ๆ เช่น อักขระพิเศษทั้งหมด legit
เพื่อใช้ในการเป็นสัญลักษณ์ของคุณเอง ชื่อสำหรับตัวแปร
ดังนั้นคนที่เพิ่งตัดสินใจ ว่าคุณรู้อะไร
มันจะเป็นที่น่าเบื่อสวย
ที่จะทำให้โลกทั้งโลก ประเภท jQuery ตลอดเวลา
ให้ฉันเรียงลำดับของการปลูก สัดส่วนการถือหุ้นในพื้นดินและพูดว่า
"ห้องสมุดนี้จะ ใช้เครื่องหมายดอลลาร์. "
และในความเป็นจริงนี้ ไม่เพิ่มความเสี่ยง
ว่าคนอื่นเกิน จะใช้เครื่องหมายดอลลาร์
ห้องสมุดของเขาหรือเธอ แต่ มีวิธีที่จะเรียงลำดับของการประกัน
ว่าเมื่อคุณใช้เงินดอลลาร์ ลงนามแผนที่เพื่อ jQuery
เพราะคุณสามารถทดสอบว่า มันถูกกำหนดไว้แล้ว
อย่างอื่นเป็นหลัก
ขวาทั้งหมด
ดังนั้นนั่นคือทั้งหมดที่ คือไม่มีมายากล
มันเป็นเพียงแค่เซ็กซี่มอง ชิ้นส่วนของไวยากรณ์ที่เป็นสิ่งที่ดี
และง่ายในการพิมพ์และรวดเร็ว
ดังนั้นสิ่งที่เกิดขึ้นเมื่อคุณ การพิมพ์วงเล็บเปิดเครื่องหมายดอลลาร์
แล้วฟังก์ชั่นที่ไม่ระบุชื่อ
ดีปรากฎว่านี้เป็น สัญกรณ์ชวเลขจริง
เพื่อจุดเอกสาร paren เปิดพร้อม
ดังนั้นที่สังเกตเห็นซินเทีย ก่อนหน้านี้เราพบแล้วหนึ่ง
กรณีที่มุม
หากคุณเพียงแค่ผ่านใน ฟังก์ชั่นแลมบ์ดา,
ผลกระทบของเงินดอลลาร์ เป็นสัญญาณที่แตกต่างกันเล็กน้อย
ในความเป็นจริงสิ่งที่เกิดขึ้นจริงๆ คือว่ามันเทียบเท่ากับการนี​​้
ผ่านในการอ้างอิงถึง วัตถุเอกสารทั่วโลก
ที่ทั่วโลกเช่นเดียวกับ วัตถุหน้าต่างเป็น
ที่ช่วยให้คุณบาง ฟังก์ชั่นพิเศษ
ที่มีผลต่อทั้งหน้า หรือเบราว์เซอร์และจะเปลี่ยน
ออกเอกสารที่เมื่อ คุณห่อด้วย jQuery,
jQuery เป็นหลักตระหนักถึง โอ้นี้คือการอ้างอิง
ไปยังวัตถุเอกสารที่พิเศษ
ให้ฉันตอนนี้ลงทะเบียน จัดการเหตุการณ์ที่เรียกว่าพร้อม
ซึ่งไม่ได้เป็นเจ้าของ JavaScript หรือ DOM ที่เกี่ยวข้อง
Ready คือ jQuery สิ่งที่บอกว่า
เมื่อเพจมีการโหลด ทุกองค์ประกอบ
แต่ไม่จำเป็นต้องโหลด ทุก CSS และภาพ
และไฟล์ JavaScript และ ไฟล์แฟลชและชอบ
ดังนั้นจึงเป็นขั้นตอนก่อนที่จะ โหลดแล้วไปข้างหน้า
และดำเนินการดังต่อไปนี้
และกลับหัวกลับหางของการใช้ที่พร้อม วิธีการก็คือค​​ุณสามารถที่คุณรู้
ว่าทุกองค์ประกอบ ใน DOM ของคุณ
ทั้งหมดระบุที่ไม่ซ้ำกัน สิ่งที่มีรหัส, พวกเขาอยู่ได้
ถ้าหน้าเนื้อหา ยังคงมีการโหลดและโหลด
และคุณมีบาง ไอคอนหักสักครู่
หรือหน้าขาวในพื้นหลัง
ใช่
>> อะไรจะเกิดขึ้น ถ้า [ไม่ได้ยิน]?
>> ตัวอย่างที่สมบูรณ์แบบ คำถามที่สมบูรณ์แบบ
ดังนั้นขอดูว่าเราสามารถทำได้ จำลองนี้ได้ในขณะนี้
เพื่อให้ฉันไปข้างหน้าและลบ นี้สองเส้นขึ้นที่นี่แล้ว
โดยไม่ต้องรบกวนที่จะแก้ไข เยื้องให้ฉันไปข้างหน้า
และลบรายการนี​​้ลงที่นี่ - โอ๊ะอันนี้ลงที่นี่
และตอนนี้ผมขอข้ามไป หน้าไปที่แบบฟอร์ม 2.html และชนิด
ลงทะเบียนไม่มีอะไรที่ดูเหมือนจะ เกิดขึ้นสมมติว่าทำไมคือว่า
ให้ไปข้างหน้าและเปิด ขึ้นสารวัตร Chrome ของ
เปิดคอนโซลเพียงเพื่อดู ถ้ามีอะไรเกิดขึ้นที่นี่ตอนนี้
ลงทะเบียนยังไม่มีอะไร
ดังนั้นรหัสเป็น syntactically ปรับ
ดังนั้นฉันไม่เห็นใด ๆ ข้อความผิดพลาดสีแดง
แต่สิ่งที่เห็นได้อย่างชัดเจน ไม่ได้เกิดขึ้น
ไม่มีรหัสของฉันถูกต้อง มันไม่ทำงานดังนั้นจึงไม่มีใคร
ของรหัสของฉันดูเหมือนว่าจะเป็น การดำเนินดังนั้นทำไมนี้คืออะไร
ดี JavaScript และเบราว์เซอร์ มากขึ้นโดยทั่วไปดำเนินการ
เนื้อหาของหน้าเว็บบน ลงล่างซ้ายไปขวา
และที่เป็นปัญหา ว่าเป็นเพราะด้านบน
ของหน้านี้ได้ HTML แล้วหัว แล้วสคริปต์แล้วสคริปต์อื่น
นี้จะได้รับการดำเนินการ ก่อนที่จะได้สิ่งที่เป็นพร้อม
หรือแม้กระทั่งที่มีอยู่ในต้นไม้ การเป็นตัวแทนของหน้า
รูปแบบที่ตัวเองไม่ได้ ร่างกายอยู่ที่จุดนี้
ดังนั้น jQuery จะฉลาดพอที่ ด้วยการตรวจสอบข้อผิดพลาดของ
ว่าถ้ามีองค์ประกอบใด ๆ กับ ID ที่ไม่ซ้ำกันของการลงทะเบียน
มันจะไม่เกิด ประกันตัวออกมากับคุณ
และเพียงแค่เรียกคอนโซลบาง ข้อผิดพลาดและทำลายทั้งหน้า
มันจะเงียบไม่สนใจ คุณ แต่เหตุผลที่ว่าไม่มี
ของรหัสนี้เคยมีการดำเนินการ
เพราะเมื่อคุณมี จดทะเบียนนี้ส่งจัดการ,
มีองค์ประกอบที่ไม่มี ที่จะแนบไปกับ
ดังนั้นจึงเรียงลำดับของสหกรณ์ไม่มี
ดังนั้นโดยระบุแทน รอจนอายุได้โหลด
ถ้าเราทำ window.onload สิ่งซึ่งเป็นประเภท
ในวิธีที่โรงเรียนเก่าของการทำ หรือวิธี jQuery เซ็กซี่
เช่นนี้เราสามารถ บอกว่ารอจนกว่าทั้งหมด
แท็กเหล่านั้นมี ดังนั้นการแยกวิเคราะห์ว่าแม้
ถ้าภาพยังไม่ได้โหลดที่ น้อยโหนดที่อยู่ในต้นไม้
แล้ว JQuery สามารถตรวจสอบให้แน่ใจ ทุกอย่างที่มี
ใช่
[ไม่ได้ยินหมายเหตุ]
ใช่ดีใช่อย่างแน่นอน
ดังนั้นการแก้ปัญหาอื่น ๆ ที่จะ นี้ถ้าคุณไม่ได้ใช้นี้
หรือจำไม่ได้ว่า ว่าเรื่องนี้มีตัวตน
คุณอย่างสามารถย้าย ทั้งหมดนี้ไปที่ด้านล่าง
ของหน้าเว็บภายในของ ร่างกายยังคง แต่แบบฟอร์มด้านล่าง
และที่จะยัง แก้ปัญหานี้
มันเป็นเพียงปกติ ปฏิบัติไม่ดีถือว่า
มันยุ่งน​​้อย และเลอะเทอะพิเศษ
ถ้าคุณเก็บทุกอย่างติดขัด ที่ด้านล่างของหน้า
โดยเฉพาะอย่างยิ่งเมื่อฉันรักษา สิ่งที่ง่ายโดยการใส่ทั้งหมด
ของรหัสของฉันภายใน ของหน้า HTML
เมื่อของหลักสูตรที่คุณสามารถ แน่นอนได้รับเป็นนิสัย
ของแฟมันออกมา เป็นไฟล์แยกต่างหาก
จุดที่เป็นเพียงที่ดี
เพื่อรวบรวม ไฟล์ที่อยู่ในหัว
ยกเว้นมีราคาที่คุณจ่าย
โดยใส่ JavaScript สินทรัพย์อื่นเช่นไฟล์ CSS
ในหัวของหน้า สิ่งที่เป็นความเสี่ยงที่คุณทำงานหรือไม่
>> การโหลดหน้าเว็บช้าลง
>> การโหลดหน้าเว็บช้าลงทำไม
>> เพราะเรากำลังพยายาม โหลดห้องสมุดทั้งหมด
ก่อน [ไม่ได้ยิน]
>> แน่นอนเพราะเบราว์เซอร์ อ่านรห​​ัสด้านบนลงล่าง
จากซ้ายไปขวาถ้า Google การวิเคราะห์จะช้า
หรือ jQuery CDN ช้า หรือ API Facebook เป็นช้า
และไฟล์ที่เพียงแค่แฮงค์ ที่อาจเกิดขึ้น
วิธีการที่คุณโหลดไฟล์ที่ ทั้งหน้าก็จะปรากฏขึ้นที่จะแขวน
และถ้าคุณเห็นนี้ มากตรงไปตรงมา
บนเว็บไซต์ของพวกเขาได้มาก โฆษณาที่มีคุณภาพต่ำ
กับพวกเขาเราเหลืออีกเพียงหนึ่งหรือช้า เว็บไซต์กระดกสามารถแขวนหน้า
สำหรับบางคนที่ไม่แน่นอน จำนวนวินาที
จนในที่สุดเบราว์เซอร์ หวังว่าครั้งที่ออก
และจากนั้นแสดง ส่วนที่เหลือของหน้า
ดังนั้นถ้าคุณเคยใช้เช่น Facebook เช่นปุ่ม
ในหน้าเว็บของคุณให้ผม ดูว่าฉันสามารถหานี้
โดยไม่ต้องเข้าสู่ระบบที่นี่
ดังนั้นถ้าคุณไปที่ Facebook เช่นปุ่ม
และคลิกรับรหัส, ด่ามัน
ช่วยให้ดูว่าเราสามารถทำได้ หาตัวอย่างที่
ก็มีคนโพสต์นี้
[Pause]
ฉันจะให้ขึ้นในอีกไม่กี่ วินาทีถ้าเราไม่เห็นนี้
Facebook asynch - ตกลง
ดังนั้นนี้คือรหัสและหาก พวกเขาได้เปลี่ยนมันเมื่อเร็ว ๆ นี้
ว่า Facebook จริง แนะนำให้คุณใช้
โหลดห้องสมุดของพวกเขา และที่จริงเสนอ
ที่คุณใส่ใน ร่างกายของหน้าเว็บของคุณ
ดังนั้น Facebook แนะนำคุณ สร้างการเรียงลำดับของ DIV โง่
ที่เพิ่งมีรหัสเฉพาะเช่น นี้แล้วมีป้ายสคริปต์
และทั้งหมดของความซับซ้อนนี้ เป็นหลักไม่ต่อไปนี้
และพวกเขาไม่ได้ใช้ JQuery ใด ๆ เพราะพวกเขาไม่ต้องการ
สมมติอื่น ๆ อ้างอิง
ให้ฉันย้ายนี้ กว่าเพียงเล็กน้อย
เพื่อแจ้งให้ทราบว่าพวกเขามี ฟังก์ชั่นที่ไม่ระบุชื่อที่นี่
เพิ่มเติมเกี่ยวกับที่ในเพียงสักครู่
พวกเขาแล้วใช้ document.createElement,
พวกเขากำลังสร้างองค์ประกอบ DOM, นี้เป็นเหมือน malloc จึงจะพูด
แท็กที่เป็นประเภท สคริปต์ก็ระบุแล้ว
ที่ async แอตทริบิวต์ ของแท็กที่เป็นไป
ที่จะเป็นจริงแล้วคุณไปข้างหน้า และคิดออกว่า URL
ของ Facebook ของ JavaScript ควรจะเป็น
และนี่เป็นเพียงวิธีแฟนซี
การตรวจสอบควร จะเป็น HGP หรือ HDPS
และแล้วในที่สุดคุณ สังเกตเห็นสิ่งที่ Facebook ไม่
พวกเขาได้รับโหนดที่ มีรหัสของราก Facebook
ซึ่งเป็นสิ่งที่พวกเขาบอก คุณสามารถใส่ลงไปในหน้า
และแล้วพวกเขาผนวกเด็ก ดังนั้นผลของการทั้งหมดนี้คือ
การเรียงลำดับของการฉีดแบบไดนามิก แท็กสคริปต์ใหม่ในหน้าของคุณ
เป็นลูกของ DIV ที่คุณ แทรกมีเพื่อให้ส่วนที่เหลือ
ของการโหลดหน้าอย่างมีความสุข
แล้วรหัสนี้จริง ได้รับการโหลด asynchronously
ดังนั้นเป็นหลักหลังจาก ความเป็นจริงและผมรอถึง
ของฟังก์ชั่นที่ไม่ระบุชื่อ
สิ่งที่ขี้ขลาดนี้ ไวยากรณ์หมายถึงที่นี่
เมื่อฉันมีฟังก์ชั่นไม่เพียง แต่ เปิด paren, วงเล็บปิด
แล้ววงเล็บปีกกา, ทำไมวงเล็บเปิดที่นี่
แล้วใกล้เปิดปิด paren มีสิ่งที่ว่าทำอะไร
>> [ไม่ได้ยิน] กำหนด และจากนั้นการดำเนิน?
>> แน่นอนก็กำหนด ฟังก์ชั่นซึ่งเป็นที่ไม่ระบุชื่อ
แต่เพียงการกำหนดฟังก์ชั่น
แน่นอนไม่ได้ดำเนินการ ฟังก์ชั่นจนกว่าคุณจะเรียกมันว่า
โดยใช้ชื่อ แต่แน่นอนนี้ เป็นฟังก์ชั่นที่ไม่ระบุชื่อ
ดังนั้นคุณจึงไม่สามารถเรียกว่า โดยใช้ชื่อ แต่คุณสามารถ
ดำเนินการใน JavaScript ฟังก์ชั่นที่ไม่ระบุชื่อเพียง
โดย encapsulating สิ่งที่ทั้ง ในวงเล็บคือในขณะที่เราได้ทำ
ด้วยวงเล็บนี้และนี้ paren ที่นี่แล้วแก้ไข
ที่ส่วนท้ายของฟังก์ชั่น paren เปิดวงเล็บปิด
ถ้าคุณไม่ต้องการที่จะ ผ่านมันข้อโต้แย้งใด ๆ
แต่ดูเหมือนว่าชนิดของโง่
เช่นเหตุผลที่เพิ่มเติมนี้ ความซับซ้อนวากยสัมพันธ์
ที่คนส่วนใหญ่ไม่ได้ดูเหมือน ในการรับรู้สิ่งที่มีค่า
ของการตัดที่ สามบรรทัดของรหัส
ในฟังก์ชั่นที่ไม่ระบุชื่อ อย่างนี้
ใช่
>> เพื่อหลีกเลี่ยงการเขียนทับ ที่มีค่าใน [ไม่ได้ยิน]
>> ว่าเพื่อหลีกเลี่ยงการ แทนที่ตัวแปร
ในเพจที่มีอยู่ใช่ไหม
Facebook เป็นบ้าง ตัดสินใจที่บังอาจ
พวกเขากำลังจะใช้ ตัวแปร E มันค่อนข้างจะ
ว่าคุณหรือใครใช้ Facebook เช่นปุ่ม
หรือสิ่งที่เสียบทางสังคมอื่น ๆ
ในมีตัวแปร เรียกว่าอยู่ที่ไหนสักแห่งอีดังนั้น
โดยห่อหุ้มเซลล์แสงอาทิตย์ทั้งหมด ของรหัสของพวกเขาภายใน
ของการทำงานที่ไม่ระบุชื่อนี้พวกเขา เป็นหลักมีขอบเขตของตัวเอง
ที่ไม่ได้มีความเสี่ยง clobbering ตัวแปรที่มีอยู่
ดังนั้นนี้ก็เป็นจริง กระบวนทัศน์ที่พบบ่อยมาก
โดยเฉพาะอย่างยิ่งเมื่อเขียน รหัสห้องสมุด
หรือเมื่อคุณไม่ได้ด้วยตัวคุณเอง ต้องการที่จะถ่วงพื้นที่ชื่อของคุณ
ที่มีตัวแปรอื่น ๆ ที่คุณ ต้องการค่าที่จะอยู่
และตายเมื่อคุณออกจาก บล็อกของรหัสที่
นี้เป็นเทคนิคที่ดี ใน JavaScript
ขวาทั้งหมด
ดังนั้นแล้วกลับไปที่ตัวอย่างนี้ ที่นี่ทั้งหมดที่เราได้ทำในที่สุด
กับตัวอย่างนี้ เพียงแค่ทำความสะอาดขึ้นรหัส
ดังนั้นก็ยังคงมีทั้ง พวงของสวิทช์ทั้งกลุ่ม
เงื่อนไขที่นี่ แต่ สังเกตเห็นบิตของไวยากรณ์
นี้เข้าถึงโหนดด้วย การลงทะเบียน ID ที่ไม่ซ้ำกัน
หมายถึงพื้นที่ที่ดูตอนนี้สำหรับ ลูกหลานของโหนดที่
พบว่าถ้าหากมันเป็นประเภท ใส่แล้วได้
ถ้าคุณยังไม่เห็นนี้ ก่อนที่คุณจะได้รู้
ที่นี้ก็หมายความว่า มันมีแท็กใส่
เข้าองค์ประกอบที่มี แอตทริบิวต์ของชื่อที่มีค่า
ของอีเมลแล้วให้ ฉันโบกมือของฉันที่บาง
ส่วนที่เหลือไม่ได้ ทั้งหมดกระตุ้นที่
แต่จริงๆเพียงแค่ไวยากรณ์ jQuery สำหรับการดำเนินงานเดียวกัน
ขวาทั้งหมด
แต่สิ่งที่ไม่สำคัญดังนั้น นี่คือสิ่งที่ด้านเบราว์เซอร์
แต่ความจริงที่ว่าเรา มีวิธีการทำความสะอาดและทำความสะอาด
ของจริงทำให้ การทำงานของรหัสที่
ขวาทั้งหมด
คำถามใด?
[ไม่ได้ยินหมายเหตุ]
ตกลง ตอนนี้ส่วนที่สนุก
ดังนั้น Node.js ทำไม?
ที่ใส่ใจ
คุณรู้อะไรจากมันในวันนี้
Node.js ทำไม
เฮนรี่ [สะกดสันนิษฐาน]
[ไม่ได้ยินหมายเหตุ]
รีเซ็ตแบตเตอรี่
สิ่ง - นี้เป็น ที่แขวนหน้าผาที่สมบูรณ์แบบ
สำหรับครึ่งหลังของวันนี้
เราไม่ไปทำไมและใช้เวลา พัก 5 นาทีที่นี่
มีขนมครึ่ง เครื่องมีถ้าคุณจะ
เช่นลูกอมบางอย่างโดยไม่ต้อง วางไตรมาสค่ะ