1 00:00:00,000 --> 00:00:02,862 >> [เล่นเพลง] 2 00:00:02,862 --> 00:00:10,030 3 00:00:10,030 --> 00:00:11,580 >> DAVID ลัน: นี่คือ CS50 4 00:00:11,580 --> 00:00:12,880 นี่คือจุดเริ่มต้นของสัปดาห์ที่เก้า 5 00:00:12,880 --> 00:00:15,797 และนี่คือสิ่งที่จะต้อง รับวันเกิด 200 ปีของนายบูล 6 00:00:15,797 --> 00:00:17,630 ดังนั้นนี่คือเพื่อน ซึ่งเราได้พูดพาดพิง 7 00:00:17,630 --> 00:00:21,800 ครั้งค่อนข้างบางเกี่ยวกับการใช้ ตัวแปรบูลีนความจริงและเท็จ 8 00:00:21,800 --> 00:00:22,910 1 คนและ 0 และเช่น 9 00:00:22,910 --> 00:00:25,270 และนี่คือของ Google ส่วยให้เขาในวันนี้ 10 00:00:25,270 --> 00:00:26,489 เขาจะได้หัน 200 11 00:00:26,489 --> 00:00:28,280 ดังนั้นหากคุณต้องการที่จะ เข้าร่วมกับเราสำหรับมื้อกลางวัน CS50, 12 00:00:28,280 --> 00:00:30,279 ดูที่การเชื่อมโยง บนเว็บไซต์ของหลักสูตร 13 00:00:30,279 --> 00:00:33,580 และใบหน้าดังกล่าวและเพื่อน ๆ เหล่านี้รอคุณอยู่ที่นี่ในเคมบริดจ์ 14 00:00:33,580 --> 00:00:35,360 ใบหน้าเช่นนี้รอคุณอยู่ในนิวเฮเวน 15 00:00:35,360 --> 00:00:37,800 และในความเป็นจริงในเคน นิวเฮเวนกรุณาทำ 16 00:00:37,800 --> 00:00:41,594 สิ่งที่เรียกว่า GIF เคลื่อนไหวของเอลี ที่นี่ที่ล่าสุด lunch-- แฟ้ม GIF ยัง 17 00:00:41,594 --> 00:00:44,260 รูปแบบไฟล์กราฟิกอื่น กับที่คุณ familiar-- ว่า 18 00:00:44,260 --> 00:00:46,300 มีลักษณะบางสิ่งบางอย่างเล็ก ๆ น้อย ๆ เช่นนี้ 19 00:00:46,300 --> 00:00:48,179 ดังนั้นเพียงแค่ลำดับ of-- ตกลง 20 00:00:48,179 --> 00:00:49,720 ไม่มีใครที่นี่ในเคมบริดจ์หัวเราะ 21 00:00:49,720 --> 00:00:51,720 แต่ในนิวเฮเวนนี้ เป็นตลกจริงๆใช่มั้ย? 22 00:00:51,720 --> 00:00:52,350 ทั้งหมดขวา 23 00:00:52,350 --> 00:00:53,940 >> จึงเข้าร่วมกับเรามี 24 00:00:53,940 --> 00:00:55,900 ที่นี่ที่ฮาร์วาร์ โดยเฉพาะวันพุธนี้ 25 00:00:55,900 --> 00:00:59,480 ถ้าคุณเป็นปีหรือน้อง even-- หรือแม้กระทั่งความคิดของการทำ junior-- 26 00:00:59,480 --> 00:01:01,563 สวิทช์ลงในเครื่องคอมพิวเตอร์ วิทยาศาสตร์รู้ว่ามีจะ 27 00:01:01,563 --> 00:01:04,440 จะเป็นลูกค้าให้คำปรึกษางานนี้ วันพุธที่ในไม่ช้าหลังเลิกเรียน 28 00:01:04,440 --> 00:01:08,040 ที่ 04:00 ในคอมพิวเตอร์ วิทยาศาสตร์อาคารแมกซ์เวลดวอร์คิ 29 00:01:08,040 --> 00:01:11,890 เราจะใส่นี้ในหลักสูตรของ เว็บไซต์โดยในวันพรุ่งนี้เช่นกัน 30 00:01:11,890 --> 00:01:14,430 โดนัทผมบอกว่าจะทำหน้าที่ 31 00:01:14,430 --> 00:01:15,180 >> ทั้งหมดขวา 32 00:01:15,180 --> 00:01:18,790 story-- ตลกดังนั้นฉันถูกจิ้ม รอบบนอินเทอร์เน็ต 33 00:01:18,790 --> 00:01:23,575 และผมพบว่าบางส่วนที่เก็บเก่า ของเว็บไซต์ในอดีตของฉัน 34 00:01:23,575 --> 00:01:25,950 และมันจะเปิด out-- รอบนี้ เวลาที่ดูเหมือนว่าเวลาที่เหมาะสมมาก 35 00:01:25,950 --> 00:01:28,910 ตั้งแต่ผมรวบรวมว่าการเลือกตั้ง UC กำลังจะเปลี่ยนเกียร์ขึ้นมาอีกครั้ง 36 00:01:28,910 --> 00:01:32,230 ดังนั้นผมจึงวิ่งไปหา UC หายไปอย่างน่าสังเวช 37 00:01:32,230 --> 00:01:34,770 และอาจจะเป็นส่วนหนึ่งของเหตุผล 38 00:01:34,770 --> 00:01:37,600 ดังนั้นนี่คือเว็บไซต์ของฉันในเวลา 39 00:01:37,600 --> 00:01:40,477 ด้วยเหตุผลบางอย่างที่ฉันคิดว่ามันเป็น ความคิดที่ดีก่อนที่จะบอกคน 40 00:01:40,477 --> 00:01:43,310 สิ่งที่ฉันเป็นแพลตฟอร์มและทำไมพวกเขา ควรลงมติสำหรับฉันว่าพวกเขามี 41 00:01:43,310 --> 00:01:47,770 คลิกเพื่อเข้าสู่ที่พบว่า ข้อมูลซึ่งในการหวนกลับเป็น 42 00:01:47,770 --> 00:01:48,660 ชนิดของที่น่าขนลุก 43 00:01:48,660 --> 00:01:50,910 ผมไม่ทราบจริงๆสิ่งที่เป็น 44 00:01:50,910 --> 00:01:53,140 >> แต่แน่นอนไม่ได้ ช่วยให้แคมเปญของฉัน 45 00:01:53,140 --> 00:01:56,874 ฉันยังพบว่าโดยการอาวุโส year-- นี้ผมมีคนโง่ปฏิทิน 46 00:01:56,874 --> 00:01:58,540 Muppets เป็นชนิดของในสมัย​​กลับมาแล้ว 47 00:01:58,540 --> 00:01:59,456 หรือบางทีพวกเขาไม่ได้ 48 00:01:59,456 --> 00:02:01,790 ผมมีปฏิทินโง่กลับมาแล้ว 49 00:02:01,790 --> 00:02:04,860 และฉันคิดว่ามันจะเย็นจะชื่อ คอมพิวเตอร์ในเครือข่ายของฮาร์วาร์ 50 00:02:04,860 --> 00:02:07,460 frogman.student.harvard.edu 51 00:02:07,460 --> 00:02:10,370 ในขณะที่เราทุกคนมีที่ไม่ซ้ำกัน ชื่อโฮสต์ที่สามารถระบุตัว 52 00:02:10,370 --> 00:02:13,150 และคุณสามารถเลือกโต๊ะเครื่องแป้งบาง ชื่อแทนชื่อของคุณเอง 53 00:02:13,150 --> 00:02:15,580 และฉันไปกับมนุษย์กบด้วยเหตุผลบางอย่าง 54 00:02:15,580 --> 00:02:19,040 >> แล้วฉัน started-- ผมใช้เวลามาก เวลาการคลิกผ่านการเชื่อมโยงเหล่านี้ 55 00:02:19,040 --> 00:02:20,280 เช้านี้. 56 00:02:20,280 --> 00:02:24,690 และนี่คือหน้าเกี่ยวกับฉัน ซึ่งตอนนี้ดูเหมือนว่าชนิดของที่น่ารัก 57 00:02:24,690 --> 00:02:28,210 แต่มันก็ยังเป็นพยานเพียง เทคโนโลยีวิธีการห่างไกลได้มา 58 00:02:28,210 --> 00:02:30,310 ผมหมายถึงกลับในวันที่ 486 เป็นสิ่งที่ 59 00:02:30,310 --> 00:02:34,090 วันนี้มันสุดสุด ช้าสุดและดีน้อย 60 00:02:34,090 --> 00:02:36,216 กว่าที่คุณอาจมีในของคุณ กระเป๋าของตัวเองวันนี้ 61 00:02:36,216 --> 00:02:38,465 มีมากขึ้นในการมีที่ ก็ยิ่งน่าอายมากขึ้น 62 00:02:38,465 --> 00:02:39,770 ดังนั้นฉันจะปล่อยให้มันเป็นแบบนั้น 63 00:02:39,770 --> 00:02:42,640 แต่นั่นก็เป็นครั้งแรกของฉัน จู่โจมเข้า web-- โอ้ไม่มี 64 00:02:42,640 --> 00:02:43,180 นั่นคือไม่ได้ 65 00:02:43,180 --> 00:02:47,000 การโจมตีจริงของฉันครั้งแรกในการเขียนโปรแกรมเว็บ เป็นที่นี้ซึ่งฉันก็ลืม 66 00:02:47,000 --> 00:02:50,620 ในบางจุดที่ผมได้เรียนรู้วิธีการ ทำให้ภาพพื้นหลังซ้ำ 67 00:02:50,620 --> 00:02:55,260 และเพื่อให้ฉันพบนี้ปูกระเบื้องที่มีประสิทธิภาพ เหมือนนักกีฬาฮอกกี้, ฟุตบอลและกอล์ฟ 68 00:02:55,260 --> 00:02:58,040 ลูกหรืออะไรก็ตามที่เป็น สำหรับเว็บไซต์ Frosh สนทนา 69 00:02:58,040 --> 00:03:01,390 และนี่ก็เป็นจริงอย่างแท้จริง โครงการบนเว็บแรกที่ผมเอา on-- 70 00:03:01,390 --> 00:03:03,880 ผมคิดว่าอาจจะเป็นปี ปี year-- จูเนียร์ 71 00:03:03,880 --> 00:03:07,622 หลังจากการ CS50 และ CS51 หนึ่ง ที่พบตามมาเรียน 72 00:03:07,622 --> 00:03:09,330 ผมสังเกตเห็นในการมอง ผ่านข้อมูลที่เก็บไว้ 73 00:03:09,330 --> 00:03:12,150 ว่าเป็นหนึ่งในผู้สืบทอดของฉันและ เพื่อนลีชนิดของการเปลี่ยนแปลง 74 00:03:12,150 --> 00:03:13,480 ลิขสิทธิ์ให้กับตัวเอง 75 00:03:13,480 --> 00:03:17,520 แต่นี้คือสิ่งที่แน่นอน ฉันควรจะเป็นเจ้าของความลำบากใจให้กับ 76 00:03:17,520 --> 00:03:19,370 แต่ในเวลานี้ เป็นเว็บไซต์แรก 77 00:03:19,370 --> 00:03:22,220 ที่ผมกล่าวว่าไม่กี่สัปดาห์ที่ผ่านมา โดยที่น้องจะทำได้ 78 00:03:22,220 --> 00:03:24,350 ลงทะเบียนสำหรับกีฬาที่นี่ 79 00:03:24,350 --> 00:03:27,950 และดังนั้นจึงจะเปิดออก ว่าภาพพื้นหลัง 80 00:03:27,950 --> 00:03:29,530 เช่นเดียวกับที่ไม่ได้เช่นความคิดที่ดี 81 00:03:29,530 --> 00:03:31,840 แต่เว็บใหม่และ เราทุกคนทดลอง 82 00:03:31,840 --> 00:03:34,310 และนี่คือสิ่งที่ฉัน เห็นได้ชัดว่าในเวลา 83 00:03:34,310 --> 00:03:34,810 ทั้งหมดขวา 84 00:03:34,810 --> 00:03:38,020 ดังนั้นไม่ต้องกังวลใจต่อไปเราสลับ เกียร์ในวันนี้เพื่อให้คุณจริงๆ 85 00:03:38,020 --> 00:03:42,250 ชิ้นสุดท้ายที่คุณอาจพบ ประโยชน์อย่างยิ่งสำหรับโครงการสุดท้าย 86 00:03:42,250 --> 00:03:44,780 แต่ยังว่าจะเริ่ม ทำให้ทั้งเว็บทั่วโลก 87 00:03:44,780 --> 00:03:46,680 รู้สึกนิด ๆ หน่อย ๆ ที่เข้าใจมากขึ้น 88 00:03:46,680 --> 00:03:49,460 อันที่จริงเรากำลังจะแนะนำ หนึ่งในการเขียนโปรแกรมภาษาอื่น ๆ อีกมากมาย 89 00:03:49,460 --> 00:03:52,474 เรียก JavaScript ที่คล้ายกัน และที่แตกต่างกันในรูปแบบที่แตกต่างกัน 90 00:03:52,474 --> 00:03:54,140 จากภาษาที่เราได้มองไปที่ป่านนี้ 91 00:03:54,140 --> 00:03:55,807 >> ดังนั้น C จำภาษารวบรวมนี้ 92 00:03:55,807 --> 00:03:57,473 คุณได้มีการเรียกใช้ผ่านคอมไพเลอร์ 93 00:03:57,473 --> 00:03:59,810 คุณจะได้รับรหัสที่มาคัดค้าน รหัสหรือเลขศูนย์และคน 94 00:03:59,810 --> 00:04:03,000 และผู้ที่มีเลขศูนย์และคนที่ ซีพียูของหน่วยประมวลผลกลาง, 95 00:04:03,000 --> 00:04:04,360 จริงเข้าใจ 96 00:04:04,360 --> 00:04:06,610 PHP โดยคมชัดไม่ได้ ภาษาที่รวบรวม 97 00:04:06,610 --> 00:04:08,772 มันเป็นสิ่งที่? 98 00:04:08,772 --> 00:04:09,980 มันเป็นภาษาที่ตีความ 99 00:04:09,980 --> 00:04:11,750 จึงมีบางโปรแกรม ล่ามเรียกว่า 100 00:04:11,750 --> 00:04:13,708 มีการอ่านบน it-- ไป ล่างซ้ายไป right-- 101 00:04:13,708 --> 00:04:16,519 และคิดออกว่าทั้งหมดของ ไวยากรณ์ของคุณไม่และหมายความว่า 102 00:04:16,519 --> 00:04:20,200 ไม่ว่าจะเป็นห่วงหรือเงื่อนไข หรือหมายเลขอื่น ๆ ของการเขียนโปรแกรม 103 00:04:20,200 --> 00:04:20,740 โครงสร้าง 104 00:04:20,740 --> 00:04:22,210 เพื่อให้เป็นภาษาตีความ 105 00:04:22,210 --> 00:04:23,910 >> จากนั้นเราก็นำมาใช้ HTML 106 00:04:23,910 --> 00:04:26,440 และ HTML เป็นไม่ได้ การเขียนโปรแกรมภาษา 107 00:04:26,440 --> 00:04:28,110 เราต้องการเรียกมันว่าอะไร? 108 00:04:28,110 --> 00:04:31,650 ภาษามาร์กอัปซึ่งเป็นเพียง การเรียงลำดับของวิธีที่จินตนาการของบอกว่ามัน 109 00:04:31,650 --> 00:04:35,820 ไม่ได้มีโครงสร้างเช่นการเขียนโปรแกรม เราเห็นแม้กระทั่งกลับมาในวันที่มีการเริ่มต้น 110 00:04:35,820 --> 00:04:36,720 มีลูปไม่มี 111 00:04:36,720 --> 00:04:37,920 มีเงื่อนไขไม่มี 112 00:04:37,920 --> 00:04:40,820 จริงๆมันเป็นภาษา เกี่ยวกับการทำเครื่องหมายข้อมูลของคุณ 113 00:04:40,820 --> 00:04:43,620 และการจัดรูปแบบหรือ โครงสร้างในทางใดทางหนึ่ง 114 00:04:43,620 --> 00:04:46,147 >> CSS ในขณะเดียวกันในทำนองเดียวกัน ไม่ใช่ภาษาการเขียนโปรแกรม 115 00:04:46,147 --> 00:04:47,730 มันมากยิ่งขึ้นที่มุ่งเน้นความสุนทรีย์ 116 00:04:47,730 --> 00:04:50,470 และจะช่วยให้คุณสามารถเรียงลำดับของการปรับแต่ง สิ่งที่ต้องการขนาดตัวอักษรและสี 117 00:04:50,470 --> 00:04:51,850 และการจัดวางและทุกที่ 118 00:04:51,850 --> 00:04:52,370 จากนั้นเราก็ 119 00:04:52,370 --> 00:04:53,160 >> SQL 120 00:04:53,160 --> 00:04:56,010 ดังนั้น SQL เป็นจริงการเขียนโปรแกรม ภาษาในความรู้สึกบางอย่าง 121 00:04:56,010 --> 00:04:59,330 แม้จะเหมาะ โดยเฉพาะกับฐานข้อมูล 122 00:04:59,330 --> 00:05:03,347 แต่ถึงแม้เราจะแนะนำให้ท่านรู้จัก เลือกและแทรกและลบและปรับปรุง 123 00:05:03,347 --> 00:05:05,430 และคู่ของคนอื่น ๆ เปิดออกคุณสามารถจริง 124 00:05:05,430 --> 00:05:07,380 เขียนฟังก์ชั่นหรือ ขั้นตอนที่พวกเขากำลัง 125 00:05:07,380 --> 00:05:11,270 เรียกว่าใน SQL ที่มีลักษณะและการกระทำ มากเช่น PHP และฟังก์ชั่น C 126 00:05:11,270 --> 00:05:12,390 ดังนั้นรู้ไหมว่าคนที่มีอยู่ 127 00:05:12,390 --> 00:05:15,348 แต่เราไม่ได้รำคาญกับพวกเขา ในขณะที่เราเพียงแค่รอยขีดข่วนบนพื้นผิวที่นี่ 128 00:05:15,348 --> 00:05:18,600 และแล้ว JavaScript สุดท้าย ภาษาของเราแนะนำอย่างเป็นทางการ 129 00:05:18,600 --> 00:05:21,029 ดังนั้น JavaScript ก็เป็น แปลภาษา 130 00:05:21,029 --> 00:05:23,070 และมีความคุ้นเคยเหล่านั้นทำ คุณต้องการที่จะเห็นความแตกต่าง 131 00:05:23,070 --> 00:05:26,960 ที่มีลักษณะบางอย่าง จากทั้ง C และ PHP? 132 00:05:26,960 --> 00:05:28,300 สิ่งที่ทำให้มันแตกต่างกันอย่างไร 133 00:05:28,300 --> 00:05:29,650 >> ผู้ชม: มันไม่ได้รวบรวม 134 00:05:29,650 --> 00:05:29,930 >> DAVID ลัน: Say อีกครั้งหรือไม่ 135 00:05:29,930 --> 00:05:31,200 >> ผู้ชม: มันไม่ได้รวบรวม 136 00:05:31,200 --> 00:05:31,930 >> DAVID ลัน: มันไม่ได้รวบรวม 137 00:05:31,930 --> 00:05:33,450 ดังนั้นมันเกินไปถูกตีความ 138 00:05:33,450 --> 00:05:34,760 ดังนั้นจึงไม่ได้รวบรวม 139 00:05:34,760 --> 00:05:37,210 แต่ที่ทำให้มันเป็นเช่น PHP เล็ก ๆ น้อย ๆ 140 00:05:37,210 --> 00:05:39,545 แต่ก็ยังคงแตกต่างจาก PHP ในบางวิธีที่โดดเด่น 141 00:05:39,545 --> 00:05:40,920 อย่างน้อยในวิธีที่เราจะใช้ 142 00:05:40,920 --> 00:05:41,205 ใช่? 143 00:05:41,205 --> 00:05:41,940 >> ผู้ชม: มันวิ่งฝั่งไคลเอ็นต์ 144 00:05:41,940 --> 00:05:44,000 >> DAVID ลัน: มันทำงาน ฝั่งไคลเอ็นต์มักจะ 145 00:05:44,000 --> 00:05:47,190 นั่นคือแน่นอนแยกความแตกต่าง ลักษณะเราตอนนี้ 146 00:05:47,190 --> 00:05:51,170 C เป็นด้านเซิร์ฟเวอร์ในความรู้สึก ที่เราทำทุกอย่างใน CS50 IDE 147 00:05:51,170 --> 00:05:53,630 PHP จึงห่างไกลได้รับ ฝั่งเซิร์ฟเวอร์ตราบเท่า 148 00:05:53,630 --> 00:05:56,550 ในขณะที่มันมากเกินไปได้รับ interpreted-- ไม่ได้รวบรวม แต่ interpreted-- 149 00:05:56,550 --> 00:06:00,690 ภายใน CS50 IDE ซึ่งแน่นอนคือ เพียงเซิร์ฟเวอร์หรือเซิร์ฟเวอร์ในเมฆ 150 00:06:00,690 --> 00:06:03,070 >> แต่ JavaScript แม้ แม้ว่าคุณคุณจะ 151 00:06:03,070 --> 00:06:07,000 ที่จะเริ่มต้นการเขียนมันพูด pset แปดและอาจจะเป็นครั้งสุดท้าย projects-- คุณ 152 00:06:07,000 --> 00:06:09,620 ไปทางขวาใน IDE CS50 และบันทึกไว้ 153 00:06:09,620 --> 00:06:14,760 ในแฟ้มที่ภายใน IDE CS50, CS50 IDE และในทางกลับกันเซิร์ฟเวอร์เมฆ 154 00:06:14,760 --> 00:06:19,160 ที่เป็นเจ้าภาพก็จะไม่ได้ไป ในการตีความหรือรันรหัสของคุณ 155 00:06:19,160 --> 00:06:23,880 แต่ก็จะถูกส่งไปใน รูปแบบที่เปลี่ยนแปลงลงไปที่เบราว์เซอร์ 156 00:06:23,880 --> 00:06:26,990 และมันแล้วจะเป็น IE หรือ Chrome หรือ Firefox หรือ Safari 157 00:06:26,990 --> 00:06:30,697 หรืออะไรก็ตามที่จริงตีความ มันบนลงล่างซ้ายไปขวา 158 00:06:30,697 --> 00:06:32,780 ดังนั้นความแตกต่างที่สำคัญ ลักษณะสำหรับวันนี้ 159 00:06:32,780 --> 00:06:36,110 คือว่า JavaScript เป็นฝั่งไคลเอ็นต์ และ PHP ตัวอย่างเช่น 160 00:06:36,110 --> 00:06:37,690 ได้รับการด้านเซิร์ฟเวอร์ 161 00:06:37,690 --> 00:06:40,920 ตอนนี้มีความหมายที่น่าสนใจ สำหรับเช่นทรัพย์สินทางปัญญา 162 00:06:40,920 --> 00:06:42,660 และผู้ที่สามารถมองเห็นรหัสของคุณ 163 00:06:42,660 --> 00:06:44,860 และแน่นอนคุณสามารถไปที่ บนเว็บและดูมากที่สุด 164 00:06:44,860 --> 00:06:47,530 รหัสใด ๆ ที่มีคน เขียนใน JavaScript 165 00:06:47,530 --> 00:06:50,230 บางครั้งก็สามารถอ่านได้ บางครั้งมัน obfuscated 166 00:06:50,230 --> 00:06:52,550 แต่เพิ่มเติมว่าในเวลาที่กำหนด 167 00:06:52,550 --> 00:06:57,530 >> ดังนั้น JavaScript, อย่างเพียงพอคือ คล้ายซุปเปอร์ syntactically เพื่อซี 168 00:06:57,530 --> 00:06:59,364 และอีกเช่น PHP, ไม่มีฟังก์ชั่นหลัก 169 00:06:59,364 --> 00:07:02,113 ถ้าคุณต้องการที่จะเริ่มต้นการเขียน รหัส JavaScript, ในขณะที่คุณจะเห็นในวันนี้ 170 00:07:02,113 --> 00:07:03,270 คุณเพียงแค่เริ่มต้นการเขียนมัน 171 00:07:03,270 --> 00:07:06,910 แต่มันก็เป็นคุณจะเห็นโดยเฉพาะอย่างยิ่ง ที่มีประโยชน์ในบริบทของเว็บเบราเซอร์ 172 00:07:06,910 --> 00:07:09,820 แต่น้อยของฉัน disclaimer-- มัก earlier-- 173 00:07:09,820 --> 00:07:13,790 ก็จะบอกว่าคุณสามารถเพิ่มมากขึ้น วันนี้การใช้งานด้านเซิร์ฟเวอร์ JavaScript 174 00:07:13,790 --> 00:07:17,655 ใช้กรอบแฟนซีเรียก Node.js ว่าบางส่วนของการใช้งานของตัวเองของ CS50 175 00:07:17,655 --> 00:07:18,280 มีบันทึกไว้ใน 176 00:07:18,280 --> 00:07:20,640 ตรวจสอบ 50 จริงใช้ Node.js. 177 00:07:20,640 --> 00:07:24,140 แต่เรากำลังจะมุ่งเน้นไปที่ ฝั่งไคลเอ็นต์ JavaScript ที่นี่ที่ออก 178 00:07:24,140 --> 00:07:26,750 >> ดังนั้นนี่คือชุดของเงื่อนไขในของ PHP 179 00:07:26,750 --> 00:07:29,350 ขออภัย in-- จริงว่า คำสั่งที่ถูกต้องมากเกินไป 180 00:07:29,350 --> 00:07:32,200 ที่นี่ยังเป็นชุดของ เงื่อนไขใน JavaScript 181 00:07:32,200 --> 00:07:35,560 syntactically มันเป็น เหมือนกันกับ C และ PHP 182 00:07:35,560 --> 00:07:39,040 การแสดงออกของนายบูลมี ในทำนองเดียวกัน syntactically 183 00:07:39,040 --> 00:07:41,190 เหมือนกันทั้ง C และ PHP 184 00:07:41,190 --> 00:07:44,100 เรายังมีสวิทช์ใน JavaScript ที่มีลักษณะเหมือนกัน 185 00:07:44,100 --> 00:07:46,350 เรามีสำหรับลูปที่มี โครงสร้างเหมือนกัน 186 00:07:46,350 --> 00:07:48,140 ในขณะที่ลูปทำในขณะที่ลูป 187 00:07:48,140 --> 00:07:49,980 >> อันนี้เป็นความแตกต่างกันเล็กน้อย 188 00:07:49,980 --> 00:07:53,120 PHP มีสำหรับการสร้างแต่ละ ที่คุณอาจจะใช้ 189 00:07:53,120 --> 00:07:55,320 หรือจะใช้ใน pset เจ็ดบางที 190 00:07:55,320 --> 00:07:59,460 จาวาสคริปต์นี้มีรุ่นพิเศษ สำหรับที่คุณอย่างแท้จริงพูดอะไรบางอย่าง 191 00:07:59,460 --> 00:08:03,864 เช่นตัวแปรที่สำคัญในวัตถุที่ เป็นวิธีที่สั้นมากว่า 192 00:08:03,864 --> 00:08:06,780 ถ้าฉันมี object-- และเราจะ พูดคุยเกี่ยวกับเหล่านี้อีกครั้งใน moment-- 193 00:08:06,780 --> 00:08:10,370 และผมอยากจะย้ำไปทั้งหมด ของคู่ค่าคีย์ภายใน 194 00:08:10,370 --> 00:08:13,620 ฉันไม่ได้ที่จะคิดออกว่าจะ ดัชนีตัวเลขให้กับศูนย์หนึ่ง 195 00:08:13,620 --> 00:08:14,580 สองสาม. 196 00:08:14,580 --> 00:08:15,900 >> แท้จริงฉันสามารถพูดนี้ 197 00:08:15,900 --> 00:08:20,740 และในแต่ละซ้ำ, JavaScript สำหรับผมที่จะปรับปรุงตัวแปรที่สำคัญ 198 00:08:20,740 --> 00:08:24,810 จะเป็นกุญแจดอกแรกแล้วที่สำคัญต่อไป แล้วที่สำคัญต่อไปแล้วที่สำคัญต่อไป 199 00:08:24,810 --> 00:08:25,510 เป็นต้น 200 00:08:25,510 --> 00:08:30,000 และผมก็จะได้รับความคุ้มค่าจากการรักษา วัตถุใน JavaScript ที่เราจะเห็น, 201 00:08:30,000 --> 00:08:32,584 ราวกับว่ามันเป็น อาเรย์ใน PHP 202 00:08:32,584 --> 00:08:35,750 อันที่จริงถ้าคุณห่อที่สุดของคุณ คิดไปรอบ ๆ สิ่งที่เป็นอาเรย์ 203 00:08:35,750 --> 00:08:40,140 ใน PHP คุณสามารถคิดว่ามันเป็นตอนนี้ เหมือนกันกับวัตถุใน JavaScript 204 00:08:40,140 --> 00:08:42,030 แต่ที่บิตของ เปลือก 205 00:08:42,030 --> 00:08:47,230 >> อาร์เรย์มองอย่างเพียงพอเหมือนกัน เพื่อ PHP ยกเว้นสำหรับตัวละครตัวหนึ่ง 206 00:08:47,230 --> 00:08:51,425 มีสิ่งหนึ่งที่หายไปที่นี่ ที่เราไม่เห็นสัปดาห์ที่ผ่านมากับ PHP 207 00:08:51,425 --> 00:08:52,050 สิ่งที่มองข้าม? 208 00:08:52,050 --> 00:08:53,310 ใช่? 209 00:08:53,310 --> 00:08:54,090 ไม่มีเครื่องหมายดอลลาร์ 210 00:08:54,090 --> 00:08:56,240 ดังนั้นเรากลับไปที่ โลกที่มากกว่าปกติ 211 00:08:56,240 --> 00:08:58,050 ตัวแปรที่ไม่ได้มีสัญญาณดอลลาร์ 212 00:08:58,050 --> 00:09:00,810 แต่คุณจะนำหน้าพวกเขา กับ var โดยทั่วไป 213 00:09:00,810 --> 00:09:02,230 และ var หมายความว่าตัวแปร 214 00:09:02,230 --> 00:09:06,440 และอีกเช่น PHP เป็นอย่างหลวม ๆ typed-- โดยมีประเภท 215 00:09:06,440 --> 00:09:10,120 มีตัวเลขและสตริง และลอยและอื่น forth-- 216 00:09:10,120 --> 00:09:11,570 JavaScript ในทำนองเดียวกันมีชนิด 217 00:09:11,570 --> 00:09:15,470 แต่ก็พิมพ์อย่างอิสระในการที่พวกเราทุกคน โปรแกรมเมอร์ไม่ต้องระบุพวกเขา 218 00:09:15,470 --> 00:09:18,980 เราก็จะต้องตระหนักถึง ชนิดที่แตกต่างที่มีอยู่ 219 00:09:18,980 --> 00:09:21,690 >> ตัวแปร meanwhile-- นี่เป็นวิธีที่ เราอาจจะประกาศ "สวัสดีโลก" 220 00:09:21,690 --> 00:09:22,230 เป็นสตริง 221 00:09:22,230 --> 00:09:24,890 ขอให้สังเกตว่ามันเหมือนกันกับ PHP แต่ไม่มีเครื่องหมายดอลลาร์ 222 00:09:24,890 --> 00:09:27,120 และนี่คือสิ่งที่เราจะได้ เริ่มเห็นมากขึ้นในวันนี้ 223 00:09:27,120 --> 00:09:30,990 โดยคุณมีวัตถุ กับคีย์และค่า 224 00:09:30,990 --> 00:09:32,990 และถ้าคุณต้องการที่จะลอง เพื่อสรุปจาก week-- ที่ผ่านมา 225 00:09:32,990 --> 00:09:34,730 ไวยากรณ์เป็นเพียงเล็กน้อยที่แตกต่างกัน 226 00:09:34,730 --> 00:09:39,740 แต่สติน้อย check-- หลายวิธี คีย์ไม่วัตถุนี้ดูเหมือนจะมี? 227 00:09:39,740 --> 00:09:40,850 ดังนั้นผมจึงเห็นสี่ 228 00:09:40,850 --> 00:09:43,560 ผมเห็นสอง 229 00:09:43,560 --> 00:09:44,680 >> ดังนั้นจึงเป็นจริงสอง 230 00:09:44,680 --> 00:09:47,260 ดังนั้นนี้เป็นคอลเลกชัน ของทั้งสองคู่ค่าคีย์ 231 00:09:47,260 --> 00:09:49,820 ที่สำคัญคือสัญลักษณ์ที่มีค่า FB 232 00:09:49,820 --> 00:09:52,620 ที่สำคัญคือราคาที่มีค่า 101.53 233 00:09:52,620 --> 00:09:54,230 ดังนั้นผู้ที่มีสองคู่ค่าคีย์ 234 00:09:54,230 --> 00:09:58,120 และจำไว้ว่า PHP-- และนี่เป็นอีกครั้งที่ เพียงแค่การจัดเรียงของความแตกต่างประโยค 235 00:09:58,120 --> 00:10:00,170 มันไม่ได้ทั้งหมดที่ ที่น่าสนใจทางสติปัญญา 236 00:10:00,170 --> 00:10:04,610 PHP อาจจะเขียนเดียวกันนี้ สิ่งที่เป็นคำพูด follows-- เท่ากับ 237 00:10:04,610 --> 00:10:06,730 และผมเปลี่ยนเหล่านี้เพื่อวงเล็บ 238 00:10:06,730 --> 00:10:11,240 แล้วฉันเปลี่ยนไปนี้ คำที่ยกมา "ราคา". 239 00:10:11,240 --> 00:10:12,500 แล้วผมไม่ได้ใช้ลำไส้ใหญ่ 240 00:10:12,500 --> 00:10:15,060 อะไรที่ผมใช้สัปดาห์สุดท้าย? 241 00:10:15,060 --> 00:10:18,290 ใช่เครื่องหมายเท่ากับ ลูกศรสัญกรณ์ขี้ขลาด 242 00:10:18,290 --> 00:10:21,470 >> แล้วฉันทำสิ่งเดียวกันที่นี่ 243 00:10:21,470 --> 00:10:23,580 สิ่งเดียวกันที่นี่ 244 00:10:23,580 --> 00:10:24,240 และนั่นคือทั้งหมด 245 00:10:24,240 --> 00:10:27,752 ดังนั้นจึงเป็นที่ดีถ้ามีไม่ได้ จมจริงๆในหน่วยความจำเพียง 246 00:10:27,752 --> 00:10:29,960 ยังเพราะมันจริงๆ น่าทึ่งปัญญา 247 00:10:29,960 --> 00:10:31,660 มันเป็นเพียงความแตกต่างของประโยค 248 00:10:31,660 --> 00:10:33,230 แต่ความคิดจะตรงเดียวกัน 249 00:10:33,230 --> 00:10:35,910 ภายในของตัวแปรนี้ อ้างใน JavaScript 250 00:10:35,910 --> 00:10:39,020 คือชุดของคู่ค่าคีย์ที่ ซึ่งหนึ่งในนั้นเป็นสัญลักษณ์หนึ่งซึ่ง 251 00:10:39,020 --> 00:10:39,690 คือราคา 252 00:10:39,690 --> 00:10:42,340 และผมก็จะได้รับค่าเหล่านั้น กับไวยากรณ์ต่อไปนี้ 253 00:10:42,340 --> 00:10:46,280 เช่นเดียวกับใน PHP ที่จะทำได้ ทำอะไรบางอย่างให้ like-- 254 00:10:46,280 --> 00:10:48,590 ฉันให้ช่องนี้มีขนาดใหญ่กว่าเล็กน้อย 255 00:10:48,590 --> 00:10:52,750 เช่นเดียวกับใน PHP ที่จะทำได้ ทำให้ this-- โอ้บ้า 256 00:10:52,750 --> 00:10:53,250 เข้ามา. 257 00:10:53,250 --> 00:10:56,350 258 00:10:56,350 --> 00:11:00,800 >> เช่นเดียวกับใน PHP-- ตกลงเราจะ เพียงแค่ใช้บันทึกพรีเซนเตอร์ 259 00:11:00,800 --> 00:11:06,010 เช่นเดียวกับใน PHP, ฉันสามารถ ทำใบเสนอราคา $ $ อ้าง ["สัญลักษณ์"] 260 00:11:06,010 --> 00:11:08,860 และจะได้รับฉัน ค่าของ "สัญลักษณ์". 261 00:11:08,860 --> 00:11:12,800 ใน JavaScript ก็เป็นไปได้ เหมือนกันด้วยเหตุนี้ฉันสามารถทำเช่นนี้ 262 00:11:12,800 --> 00:11:14,850 สิ่งเดียวที่เป็น ที่ขาดหายไปคือเครื่องหมายดอลลาร์ 263 00:11:14,850 --> 00:11:17,470 >> ดังนั้นอย่างเพียงพอแล้วมี ไม่ได้ทั้งหมดที่ไวยากรณ์ใหม่มาก 264 00:11:17,470 --> 00:11:21,025 ดังนั้นสิ่งที่วันนี้เรามุ่งเน้นจริงๆคือ บางส่วนของความคิดและการใช้งานที่ 265 00:11:21,025 --> 00:11:22,900 และเป็นครั้งแรกดังกล่าว โปรแกรมที่คุณอาจจะ 266 00:11:22,900 --> 00:11:26,090 ได้เห็นถ้าคุณดำดิ่งลงไป pset เจ็ดแล้วเป็นรูปแบบนี้ 267 00:11:26,090 --> 00:11:28,980 ดังนั้นใน pset เจ็ดถ้าคุณได้ เห็นหรือไม่เห็นว่ามันยัง 268 00:11:28,980 --> 00:11:33,570 รู้ว่ามีไฟล์ที่เราให้ คุณเรียกว่า config.json-- JavaScript 269 00:11:33,570 --> 00:11:34,661 Object สัญลักษณ์ 270 00:11:34,661 --> 00:11:35,160 ทำไม? 271 00:11:35,160 --> 00:11:39,540 เราต้องการที่จะสามารถที่จะช่วยให้คุณมี แม่แบบที่มีคู่ค่าคีย์บาง 272 00:11:39,540 --> 00:11:44,290 เราต้องการที่จะสามารถที่จะให้คุณรายการ ของโฮสต์ชื่อของเซิร์ฟเวอร์ 273 00:11:44,290 --> 00:11:46,710 เราต้องการที่จะให้คุณ ตัวยึดสำหรับชื่อผู้ใช้ของคุณ 274 00:11:46,710 --> 00:11:48,210 และตัวยึดสำหรับรหัสผ่านของคุณ 275 00:11:48,210 --> 00:11:49,410 หากคุณไม่ได้เห็น นี้ยังไม่ต้องกังวล 276 00:11:49,410 --> 00:11:51,340 เพิ่มเติมเกี่ยวกับเรื่องนี้ใน pset เจ็ด [? ข้อมูลจำเพาะ ?] แล้ว 277 00:11:51,340 --> 00:11:53,173 เห็นได้ชัดว่าเราต้องการให้คุณ เพื่อเติมเต็มในสิ่งที่ต้องทำ 278 00:11:53,173 --> 00:11:55,310 เพราะเมื่อคุณเข้าสู่ระบบ CS50 IDE แต่ละท่าน 279 00:11:55,310 --> 00:11:57,630 มีชื่อผู้ใช้และรหัสผ่านของคุณเอง 280 00:11:57,630 --> 00:12:00,910 >> ดังนั้นเราจะได้ใช้ครึ่งโหล หรือมากกว่ารูปแบบไฟล์ที่แตกต่างกัน 281 00:12:00,910 --> 00:12:02,940 เราจะได้ใช้ไฟล์ .txt 282 00:12:02,940 --> 00:12:04,570 เราสามารถใช้ไฟล์ CSV 283 00:12:04,570 --> 00:12:06,745 เราจะได้ใช้ ไฟล์ INI, ไฟล์ XML, 284 00:12:06,745 --> 00:12:09,370 ย่อทั้งกลุ่มอื่น ๆ ที่ คุณอาจจะไม่เคยได้ยิน 285 00:12:09,370 --> 00:12:11,244 เป็นชนิดของพล ในตอนท้ายของวัน. 286 00:12:11,244 --> 00:12:16,030 แต่ที่นิยมสุดวันนี้เป็นข้อความ รูปแบบที่เรียกว่าวัตถุ JSON-- JavaScript 287 00:12:16,030 --> 00:12:18,460 Notation-- ที่มีลักษณะเช่นนี้ 288 00:12:18,460 --> 00:12:20,890 มันเป็นเพียงเล็กน้อยคลุมเครือ แต่แจ้งให้ทราบรูปแบบ 289 00:12:20,890 --> 00:12:24,180 คุณเริ่มต้นด้วยการเปิดหยิก รั้งและคุณจบลงด้วยเหมือนกัน 290 00:12:24,180 --> 00:12:26,550 ภายในที่เป็นสิ่งที่ 291 00:12:26,550 --> 00:12:27,920 มันเป็นคู่ค่าคีย์ 292 00:12:27,920 --> 00:12:30,580 ดังนั้นนี่คือวัตถุที่ฉันเป็น กำลังมองหาที่อยู่บนหน้าจอที่นี่ 293 00:12:30,580 --> 00:12:33,690 ที่มีหนึ่งที่สำคัญซึ่งมีค่าหนึ่ง 294 00:12:33,690 --> 00:12:37,610 และเพียงแค่การอนุมานขึ้นอยู่กับ รูปแบบก่อนหน้านี้สิ่งที่สำคัญที่นี่? 295 00:12:37,610 --> 00:12:39,790 ฐานข้อมูลสิ่งที่จะ ด้านซ้ายของลำไส้ใหญ่ 296 00:12:39,790 --> 00:12:43,500 >> ตอนนี้ค่าที่จะเกิดขึ้น บรรทัดนี้หลายครั้ง 297 00:12:43,500 --> 00:12:46,760 แต่ค่าเริ่มต้นด้วยการหยิก รั้งและจบลงด้วยการรั้งหยิก 298 00:12:46,760 --> 00:12:49,480 ดังนั้นสิ่งที่คุณจะนำเสนอคือ ประเภทของมูลค่าของฐานข้อมูลหรือไม่ 299 00:12:49,480 --> 00:12:52,160 300 00:12:52,160 --> 00:12:54,670 พจนานุกรมหรือเพียงมากขึ้น ชัดถ้อยชัดคำ, วัตถุ 301 00:12:54,670 --> 00:12:55,170 ใช่มั้ย? 302 00:12:55,170 --> 00:13:00,010 นี้เป็นชนิดของโครงสร้างข้อมูลที่ สามารถใช้โครงสร้างอื่น ๆ ภายในตัวเอง 303 00:13:00,010 --> 00:13:02,750 ดังนั้นหากเรื่องทั้งหมดนี้เรา เรียก object-- และวัตถุ 304 00:13:02,750 --> 00:13:07,101 เป็นเพียงพวงของค่าคีย์ pairs-- ที่ มูลค่าของฐานข้อมูลตัวเองเป็นวัตถุ 305 00:13:07,101 --> 00:13:10,350 มูลค่าของฐานข้อมูลที่มีทั้งกลุ่ม ของคู่ค่าคีย์เป็นครั้งแรกที่ 306 00:13:10,350 --> 00:13:13,130 เป็นเจ้าภาพแล้วชื่อแล้ว ชื่อผู้ใช้แล้วรหัสผ่าน 307 00:13:13,130 --> 00:13:17,550 แต่ละที่มีค่าในขณะเดียวกันก็ เพียงสตริงที่น่าเบื่อในราคาคู่ 308 00:13:17,550 --> 00:13:19,770 >> ดังนั้นแม้ว่าที่ไม่ ซุปเปอร์ชัดเจนเพียง แต่ 309 00:13:19,770 --> 00:13:22,740 รู้ว่านี้เป็นเพียง มาตรฐานวิธีการที่น่าเบื่ออย่างเป็นธรรม 310 00:13:22,740 --> 00:13:25,190 ของการจัดเก็บข้อมูลในรูปแบบมาตรฐาน 311 00:13:25,190 --> 00:13:27,700 แต่ข้อผิดพลาดทั่วไปที่คุณ อาจจะทำให้แม้ใน pset เจ็ด 312 00:13:27,700 --> 00:13:32,120 เป็นสิ่งที่โง่เล็ก ๆ น้อย ๆ เช่นถ้าคุณ ตั้งใจละเว้นจุลภาคมี 313 00:13:32,120 --> 00:13:34,900 ที่เกิดขึ้นจะส่งผลให้ในไฟล์ ไม่จำเป็นต้องเป็นที่สามารถอ่านได้ 314 00:13:34,900 --> 00:13:38,191 ถ้าคุณตั้งใจละเว้นสิ่งที่ต้องการ คำพูดก็จะไม่สามารถอ่านได้ 315 00:13:38,191 --> 00:13:41,654 ดังนั้นจึงเป็นรูปแบบไฟล์ nitpicky สวย แต่มันเป็นเรื่องหนึ่งที่พบบ่อยสุด 316 00:13:41,654 --> 00:13:44,820 เกิดขึ้นและเราจะใช้มันแม้ว่า คุณไม่ได้ใช้งาน JavaScript ใด ๆ เป็นอย่างอื่น 317 00:13:44,820 --> 00:13:46,330 ใน pset เจ็ด 318 00:13:46,330 --> 00:13:46,860 >> ทั้งหมดขวา 319 00:13:46,860 --> 00:13:48,110 ดังนั้นจำภาพนี้ 320 00:13:48,110 --> 00:13:51,657 เราได้พูดคุยเกี่ยวกับใน HTML ที่ รหัสอาจมีลักษณะเช่นนี้ 321 00:13:51,657 --> 00:13:54,740 นี่คือ Hypertext Markup Language [ไม่ได้ยิน] เพียง "สวัสดีโลก." 322 00:13:54,740 --> 00:13:57,570 แต่เราก็เสนอ ในขณะที่กลับว่าถ้ามันจะช่วยให้ 323 00:13:57,570 --> 00:14:00,210 คุณอาจต้องการที่จะเริ่มคิด เกี่ยวกับเรื่องนี้อยู่แล้วเป็นต้นไม้ 324 00:14:00,210 --> 00:14:03,730 ในความเป็นจริงการเยื้องที่เรา ใช้เพียงเพื่อประโยชน์ของการอ่าน 325 00:14:03,730 --> 00:14:05,610 หรือเพื่อประโยชน์ของสไตล์ ซ้ายสามารถชนิดของ 326 00:14:05,610 --> 00:14:10,040 ได้รับการแปลเป็​​นต้นไม้ที่คุณนี้ มีบางโหนดรากพิเศษที่เราจะ 327 00:14:10,040 --> 00:14:16,860 เรียกโดยทั่วไปเอกสารด้านล่างซึ่ง เป็นองค์ประกอบ HTML รากหรือแท็ก, HTML, 328 00:14:16,860 --> 00:14:19,980 ซึ่งมีสอง เด็กหัวและลำตัว 329 00:14:19,980 --> 00:14:21,750 >> และแล้วในที่สุดก็มีหัวชื่อเรื่อง 330 00:14:21,750 --> 00:14:23,440 และชื่อมีค่าข้อความ 331 00:14:23,440 --> 00:14:26,130 และร่างกายในทำนองเดียวกันมีค่าข้อความ 332 00:14:26,130 --> 00:14:29,220 ดังนั้นถ้าคุณพอใจคำกล่าวที่ว่า ว่าใช่คุณสามารถใช้ HTML นี้ 333 00:14:29,220 --> 00:14:32,080 และวาดภาพเหมือน นี้ด้านขวามือ 334 00:14:32,080 --> 00:14:35,910 เป็นรูปแบบจิตที่ดีเพราะตอนนี้ ที่เรามี JavaScript, การเขียนโปรแกรม 335 00:14:35,910 --> 00:14:39,960 ภาษาที่เบราว์เซอร์สามารถ ดำเนินการและการแปลความหมายสำหรับคุณ 336 00:14:39,960 --> 00:14:42,690 ปรากฎว่าสิ่งที่ เรากำลังจะทำในรหัส 337 00:14:42,690 --> 00:14:45,320 คือการเริ่มต้นที่จะจัดการกับเรื่องนี้ โครงสร้างในหน่วยความจำ 338 00:14:45,320 --> 00:14:47,070 เราไม่ได้มีการสร้าง ต้นไม้ในหน่วยความจำ 339 00:14:47,070 --> 00:14:49,880 เราไม่ต้องทำเรียงลำดับของ pset ห้าสไตล์โครงสร้างข้อมูล 340 00:14:49,880 --> 00:14:50,650 ความซับซ้อน 341 00:14:50,650 --> 00:14:54,610 เบราว์เซอร์, อย่างเพียงพอเมื่อ การตีความด้านบน HTML ลงล่าง 342 00:14:54,610 --> 00:14:58,600 ทางซ้ายหรือขวาเป็นอักษรไป มือเราเทียบเท่าของตัวชี้ที่ 343 00:14:58,600 --> 00:15:00,840 ที่ต้นไม้ทั้งฟรี 344 00:15:00,840 --> 00:15:02,150 มันไม่ทั้งหมดของการทำงานอย่างหนัก 345 00:15:02,150 --> 00:15:05,520 นั่นคือสิ่งที่ Mozilla และแอปเปิ้ล และอื่น ๆ ได้ทำเพื่อเรา 346 00:15:05,520 --> 00:15:09,400 >> และด้วยจาวาสคริปต์ที่เราจะไป จะสามารถควบคุมและเปลี่ยนแปลงและทำ 347 00:15:09,400 --> 00:15:12,910 สิ่งที่น่าสนใจที่จะ ว่าต้นไม้ที่รู้จักกันเป็นอย่างอื่น 348 00:15:12,910 --> 00:15:15,880 เป็น DOM หรือเอกสารวัตถุแบบจำลอง 349 00:15:15,880 --> 00:15:17,110 สิ่งที่ชนิดของสิ่ง? 350 00:15:17,110 --> 00:15:19,030 ดีก็ปรากฎว่า ใน JavaScript มี 351 00:15:19,030 --> 00:15:22,800 รายการซักผ้านี้ เหตุการณ์ที่สามารถเกิดขึ้นได้ 352 00:15:22,800 --> 00:15:26,330 และเราไม่ได้ใช้จริงๆที่ คำตั้งแต่สัปดาห์ที่ศูนย์และ pset 353 00:15:26,330 --> 00:15:28,240 ศูนย์เมื่อเราได้พูดคุยเกี่ยวกับรอยขีดข่วน 354 00:15:28,240 --> 00:15:31,390 ส่วนใหญ่ของคุณอาจจะไม่ได้ใช้ เหตุการณ์ในโครงการรอยขีดข่วนของคุณ 355 00:15:31,390 --> 00:15:33,850 แต่คุณอาจจำ ง่ายมาร์โคโปโล 356 00:15:33,850 --> 00:15:36,760 เช่นที่เรามีสอง สไปรต์คนหนึ่งกล่าวว่ามาร์โก 357 00:15:36,760 --> 00:15:40,180 อีกคนแล้วเมื่อฟัง และได้ยินเหตุการณ์ที่กล่าวว่าโปโล 358 00:15:40,180 --> 00:15:42,080 ถ้าไม่ได้รู้สึกอิสระที่จะ มองย้อนกลับไปที่ไกลกลับ 359 00:15:42,080 --> 00:15:44,450 >> แต่นี้เป็นเพียงการ พูดและคุณสามารถชนิดของ 360 00:15:44,450 --> 00:15:47,730 สรุปจากชื่อของเหล่านี้ สิ่ง, JavaScript, มันจะเปิดออก 361 00:15:47,730 --> 00:15:53,200 เป็นไปเพื่อให้เรามีวิธีที่จะฟัง เมาส์จะลงหรือเมาส์จะขึ้น 362 00:15:53,200 --> 00:15:57,920 หรือคีย์จะลงหรือคีย์ จะขึ้นหรือ onsubmit onselect 363 00:15:57,920 --> 00:15:59,740 หรือบางสิ่งบางอย่าง onresizing 364 00:15:59,740 --> 00:16:03,060 ในคำอื่น ๆ ดำเนินการใด ๆ ทางกายภาพ ที่มนุษย์สามารถใช้เวลากับเบราว์เซอร์ 365 00:16:03,060 --> 00:16:08,210 ที่คุณทำทุกวันคุณสามารถเขียน สำหรับที่ฟังสำหรับเหตุการณ์เหล่านั้น 366 00:16:08,210 --> 00:16:10,220 และแล้วสิ่งที่ไม่เหมาะสม 367 00:16:10,220 --> 00:16:14,130 >> ตัวอย่างเช่นถ้าคุณใช้ Google Maps, สิ่งที่เกิดขึ้นถ้าคุณคลิกและย้าย 368 00:16:14,130 --> 00:16:16,250 เมาส์โดยทั่วไป? 369 00:16:16,250 --> 00:16:17,758 หากคุณคลิกและลาก? 370 00:16:17,758 --> 00:16:18,258 ใช่? 371 00:16:18,258 --> 00:16:21,701 372 00:16:21,701 --> 00:16:22,200 ที่แน่นอน 373 00:16:22,200 --> 00:16:23,159 แผนที่จะเริ่มต้นที่จะย้าย 374 00:16:23,159 --> 00:16:25,616 ดังนั้นคุณสามารถเรียงลำดับของการดูว่ามีอะไร ที่นี่มีอะไรที่นั่น 375 00:16:25,616 --> 00:16:27,130 และวิธีการที่ไม่ใช้ Google ที่? 376 00:16:27,130 --> 00:16:29,421 ดีสันนิษฐานว่าพวกเขากำลัง โดยใช้คู่ของเหตุการณ์เหล่านี้ 377 00:16:29,421 --> 00:16:31,720 ผู้ฟังคนหนึ่งที่ กล่าวว่าฟังบนเมาส์ 378 00:16:31,720 --> 00:16:35,410 down-- ดังนั้นเมื่อผู้ใช้ทางร่างกาย ผลักดัน trackpad หรือเมาส์ของเขาของเขาหรือเธอ 379 00:16:35,410 --> 00:16:36,010 ลง 380 00:16:36,010 --> 00:16:38,350 และจากนั้นเรากำลังมองหา สิ่งที่ต้องการการเคลื่อนไหว 381 00:16:38,350 --> 00:16:41,145 หรือเหตุการณ์อื่น ๆ ที่ ช่วยให้เราสามารถจับลาก 382 00:16:41,145 --> 00:16:45,910 และในความเป็นจริงคือการลากในทำนองเดียวกันในนี้ รายการ dot dot dot ตัวเลือกที่เป็นไปได้ของ 383 00:16:45,910 --> 00:16:49,140 >> ดังนั้นเป็นไปได้ที่มีประสิทธิภาพ วิธีการเริ่มต้นการตอบสนองให้กับผู้ใช้ 384 00:16:49,140 --> 00:16:52,824 แม้กระทั่งก่อนที่เขาหรือเธอคลิกจริง บางสิ่งบางอย่างที่ชัดเจนเช่นส่ง 385 00:16:52,824 --> 00:16:55,240 แต่เรากำลังจะแนะนำ หัวข้อคู่ที่จะได้รับมี 386 00:16:55,240 --> 00:16:58,570 แต่ก่อนการเปลี่ยนแปลงขอ กับบางรหัสจริง 387 00:16:58,570 --> 00:17:01,450 ดังนั้นฉันจะไป ไปข้างหน้าและเปิดพระ-0, 388 00:17:01,450 --> 00:17:05,869 ซึ่งเป็นตัวอย่างที่ง่ายมาก ที่นี่ว่าถ้าผมซูมเข้าเพียง 389 00:17:05,869 --> 00:17:08,500 มีการป้อนข้อมูลที่นี่สำหรับผม 390 00:17:08,500 --> 00:17:12,410 และฉันจะไปข้างหน้าและพิมพ์ใน "เดวิด" สำหรับชื่อของฉันและคลิกส่ง 391 00:17:12,410 --> 00:17:17,940 >> และจากนั้นแม้จะถูกจัดเรียงของผม มีพรอมต์ที่ปรากฏขึ้นว่านี้ 392 00:17:17,940 --> 00:17:19,244 "สวัสดีเดวิด!" 393 00:17:19,244 --> 00:17:21,740 ดังนั้นนี้เป็นชนิดของ เช่น "สวัสดีโลกของเรา" 394 00:17:21,740 --> 00:17:25,150 ที่เราไม่ได้เดี๋ยวกลับใน C และ แม้กระทั่งใน PHP เพราะผมได้แบบไดนามิก 395 00:17:25,150 --> 00:17:26,310 ออกมาชื่อของฉัน 396 00:17:26,310 --> 00:17:28,230 ที่ฉันสามารถทำได้ชื่อของคนอื่นที่นี่ 397 00:17:28,230 --> 00:17:31,240 ฉันก็จะเปลี่ยนไป เช่นเดียวกับฮันนาห์คลิกส่ง 398 00:17:31,240 --> 00:17:33,780 และแน่นอนการเปลี่ยนแปลงป๊อปอัพเล็ก ๆ น้อย ๆ 399 00:17:33,780 --> 00:17:36,650 >> ตอนนี้ป๊อปอัพเป็นส่วนหนึ่งของ คุณสมบัติที่ถูกทารุณกรรมมากที่สุดของเว็บ 400 00:17:36,650 --> 00:17:38,520 และในความเป็นจริงกลับมาอยู่ใน วันที่อัพป๊อปอัพ 401 00:17:38,520 --> 00:17:40,820 เข้ามาในสมัย​​เพราะคุณ จะไป website-- บาง 402 00:17:40,820 --> 00:17:43,604 บางทีอาจจะเป็นกิจกรรมดังนั้นเล็กน้อยที่น่าสงสัย ว่าแล้วก็จะ 403 00:17:43,604 --> 00:17:46,020 เริ่ม peppering หน้าจอของคุณ มีทั้งกลุ่มของป๊อปอัพ 404 00:17:46,020 --> 00:17:49,700 และเพื่อให้ความสามารถนี้จะปรากฏขึ้น หน้าต่างในหน้าของผู้ใช้ 405 00:17:49,700 --> 00:17:52,372 ยังไม่ได้รับโดยเฉพาะอย่างยิ่ง ดีโดยได้รับความเป็นมนุษย์ 406 00:17:52,372 --> 00:17:54,080 เพื่อที่ว่าทำไมคุณเห็น สิ่งป้องกัน 407 00:17:54,080 --> 00:17:55,706 ซึ่งเพียงแค่นี้จะทำให้สิ่งที่ทั้งน่าเกลียด 408 00:17:55,706 --> 00:17:57,996 ดังนั้นเราจะต้องมี วิธีที่ดีกว่าที่จะแจ้งให้ผู้ใช้ 409 00:17:57,996 --> 00:17:59,350 แต่ตอนนี้ที่ดูเหมือนว่าจะทำงาน 410 00:17:59,350 --> 00:18:03,320 ดังนั้นเพียงแค่สังหรณ์ใจอะไร ดูเหมือนว่าจะเกิดขึ้นที่นี่? 411 00:18:03,320 --> 00:18:07,870 ฉันไปข้างหน้าและคลิกส่งและ แล้วสิ่งที่เกิดขึ้นอย่างเห็นได้ชัด 412 00:18:07,870 --> 00:18:12,870 แต่สิ่งที่ไม่ได้เกิดขึ้นที่ไม่เกิดขึ้น สัปดาห์ที่ผ่านมาทุกครั้งที่ผมคลิกส่งหรือไม่? 413 00:18:12,870 --> 00:18:15,940 สิ่งที่ไม่ได้เกิดขึ้นบนหน้าจอ? 414 00:18:15,940 --> 00:18:17,170 ขออภัย? 415 00:18:17,170 --> 00:18:18,010 โหลด 416 00:18:18,010 --> 00:18:19,720 URL ไม่ได้เปลี่ยนเลย 417 00:18:19,720 --> 00:18:22,250 ผมบอกว่านี่เป็นพระ-0, และฉันยังคงอยู่ที่พระ-0 418 00:18:22,250 --> 00:18:26,890 โดยปกติแล้วเราจะได้รับการเปลี่ยนแปลงอื่น ๆ บางส่วน URL เช่น register.php หรือชอบ 419 00:18:26,890 --> 00:18:29,560 >> แต่แม้เมื่อฉันยกเลิก สิ่งด้วยการคลิกตกลงนี้ 420 00:18:29,560 --> 00:18:32,310 สังเกตเห็นว่า URL วางอยู่อย่างสมบูรณ์ 421 00:18:32,310 --> 00:18:35,350 และในความเป็นจริงถ้าฉันเล็ก ๆ น้อย ๆ สงสัยให้ฉันเปิดโครเมี่ยม 422 00:18:35,350 --> 00:18:36,860 ผมขอเปิดแท็บเครือข่าย 423 00:18:36,860 --> 00:18:38,360 และแจ้งให้ทราบว่ามันว่างเปล่าในขณะนี้ 424 00:18:38,360 --> 00:18:40,700 ให้ฉันไปข้างหน้าและส่งมาเรีย 425 00:18:40,700 --> 00:18:42,810 มีเครือข่ายการจราจร แต่อย่างใดไม่ 426 00:18:42,810 --> 00:18:44,320 ดังนั้นจึงมี HTTP ไม่มี 427 00:18:44,320 --> 00:18:47,620 >> ดังนั้นแน่นอนถ้าฉันมองไปที่รหัสแหล่งที่มา สำหรับ this-- ให้ฉันปิดหน้าต่างนี้ 428 00:18:47,620 --> 00:18:49,480 และไปดูแหล่งที่มา 429 00:18:49,480 --> 00:18:50,400 ที่น่าสนใจ 430 00:18:50,400 --> 00:18:53,520 ดูเหมือนว่ามีบาง แท็กใหม่ในหมู่พวกเขาสคริปต์ 431 00:18:53,520 --> 00:18:57,490 ดังนั้นลองมาดูภายใน CS50 IDE สิ่งที่ผมส่งไปให้กับผู้ใช้ 432 00:18:57,490 --> 00:19:00,690 >> ดังนั้นที่นี่ is-- ขอ มุ่งเน้นไปที่ HTML เท่านั้น 433 00:19:00,690 --> 00:19:03,500 นี่คือครึ่งล่างของพระ-0.html 434 00:19:03,500 --> 00:19:07,830 และสังเกตเห็นว่ามันมีชื่อเรื่อง แท็กหัวแท็กร่างกายแท็กรูปแบบ 435 00:19:07,830 --> 00:19:11,257 แต่สิ่งที่กระโดดออกมาให้คุณเป็น ที่แตกต่างกันโดยเฉพาะอย่างยิ่งถ้าคุณไม่เคย 436 00:19:11,257 --> 00:19:12,590 เขียน JavaScript ใด ๆ ด้วยตัวคุณเอง 437 00:19:12,590 --> 00:19:14,920 ผมขอเลื่อนเล็ก ๆ น้อย ๆ ไปที่นี่ 438 00:19:14,920 --> 00:19:18,330 ฉันมีการป้อนข้อมูล การป้อนข้อมูลสำหรับส่งอีก 439 00:19:18,330 --> 00:19:21,410 ฉันเป็น ID ซึ่งเป็นชนิดใหม่ 440 00:19:21,410 --> 00:19:22,790 แต่เราไม่เห็นด้วย CSS 441 00:19:22,790 --> 00:19:24,480 อะไรที่เป็นของใหม่แน่นอน? 442 00:19:24,480 --> 00:19:24,980 ใช่? 443 00:19:24,980 --> 00:19:30,580 444 00:19:30,580 --> 00:19:32,140 นีซ 445 00:19:32,140 --> 00:19:32,760 >> ทั้งหมดขวา 446 00:19:32,760 --> 00:19:35,630 ดังนั้นที่มันว่า onsubmit, สังเกตเห็นสิ่งที่ดูเหมือนว่าจะทำตาม 447 00:19:35,630 --> 00:19:38,740 นี่คือแอตทริบิวต์ ในศัพท์ HTML 448 00:19:38,740 --> 00:19:40,944 ค่าที่เป็นสายนี้ยกมาที่นี่ 449 00:19:40,944 --> 00:19:42,860 และนี้ดูเล็ก ๆ น้อย ๆ แปลกอย่างรวดเร็วก่อน 450 00:19:42,860 --> 00:19:44,050 มันไม่ได้ HTML 451 00:19:44,050 --> 00:19:45,240 มันไม่ได้ CSS 452 00:19:45,240 --> 00:19:47,580 นี่คือในขณะที่คุณอาจคาดเดา, JavaScript 453 00:19:47,580 --> 00:19:51,850 ดังนั้นจึงดูเหมือนว่าสร้างขึ้นในครั้งนี้ หน้าเว็บเป็นฟังก์ชั่นที่เรียกว่าทักทาย 454 00:19:51,850 --> 00:19:54,250 และฉันอนุมานว่าเพียงแค่ เพราะมันเป็นคำทักทาย 455 00:19:54,250 --> 00:19:55,880 มันมีวงเล็บเปิด ใกล้วงเล็บ, อัฒภาค 456 00:19:55,880 --> 00:19:58,095 ดูเหมือนว่าฟังก์ชั่นซี ดูเหมือนจะเป็นฟังก์ชั่น PHP 457 00:19:58,095 --> 00:20:00,370 >> และแน่นอนว่ามันจะ เป็นฟังก์ชัน JavaScript 458 00:20:00,370 --> 00:20:01,440 แล้วฉันจะกลับเท็จ 459 00:20:01,440 --> 00:20:03,440 เราจะกลับมา ที่เพียงสักครู่ 460 00:20:03,440 --> 00:20:05,320 แต่ที่เป็นฟังก์ชั่นที่กำหนดไว้นี้? 461 00:20:05,320 --> 00:20:07,950 ดีให้ฉันเลื่อนขึ้น ไปด้านบนของไฟล์ 462 00:20:07,950 --> 00:20:11,710 และแม้ว่าจะเป็นสายยาว มันค่อนข้างตรงไปตรงมา 463 00:20:11,710 --> 00:20:15,000 ผมขอซูมออกที่นี่และ มุ่งเน้นไปที่ทั้งสี่เส้น 464 00:20:15,000 --> 00:20:17,137 >> ดังนั้นใน JavaScript เพียง เช่น PHP, คุณเพียงแค่ 465 00:20:17,137 --> 00:20:19,720 พูดตัวอักษรคำว่า "ฟังก์ชั่น" ชื่อของฟังก์ชั่นที่ 466 00:20:19,720 --> 00:20:22,700 แล้ววงเล็บใด ๆ arguments-- ขัดแย้งใดในกรณีนี้ 467 00:20:22,700 --> 00:20:25,290 และมีชนิดกลับไม่มี ใน JavaScript เช่นเดียวกับ PHP 468 00:20:25,290 --> 00:20:29,470 ดังนั้นจึงเป็นน้อยกว่าโยกซี เปิดรั้งหยิกวงเล็บปีกกาใกล้ 469 00:20:29,470 --> 00:20:33,270 ที่สร้างขึ้นใน JavaScript เป็น function-- ไม่ได้เป็น function-- แนะนำ 470 00:20:33,270 --> 00:20:35,730 แต่ฟังก์ชั่นที่เรียกว่าการแจ้งเตือน ที่มีวัตถุประสงค์ในชีวิต 471 00:20:35,730 --> 00:20:38,620 คือการดึงขึ้นที่สวยน่าเกลียด แจ้งให้ที่เราเห็นช่วงเวลาที่ผ่านมา 472 00:20:38,620 --> 00:20:40,950 >> ตอนนี้เป็นชนิดของคำหนึ่ง 473 00:20:40,950 --> 00:20:42,560 เกิดอะไรขึ้นที่นี่? 474 00:20:42,560 --> 00:20:45,840 เพื่อขอเริ่มต้นที่จะ เน้นทุกอย่างที่นี่ 475 00:20:45,840 --> 00:20:48,540 นั่นเป็นเหตุผลเดียวที่จะแจ้งเตือน 476 00:20:48,540 --> 00:20:49,530 และสิ่งที่เกิดขึ้น? 477 00:20:49,530 --> 00:20:51,200 เพียงแค่นี้ก็ดูเหมือนว่าสตริง 478 00:20:51,200 --> 00:20:59,180 และปรากฎซึ่งแตกต่างจาก PHP และแตกต่างจาก ซีมันไม่สำคัญใน JavaScript 479 00:20:59,180 --> 00:21:01,090 ถ้าคุณราคาเดียวหรือคำพูดสอง 480 00:21:01,090 --> 00:21:02,060 พวกเขาจะเทียบเท่า 481 00:21:02,060 --> 00:21:03,769 และตรงไปตรงก็เพียง นิยมวันนี้ 482 00:21:03,769 --> 00:21:06,726 สำหรับการเขียนโปรแกรมจาวาสคริปต์เสมอ ใช้ราคาเดียวด้วยเหตุผลบางอย่าง 483 00:21:06,726 --> 00:21:07,840 มันเป็นเพียงสิ่งที่ต้องทำ 484 00:21:07,840 --> 00:21:09,710 แต่เราสามารถใช้คำพูดสองเช่นเดียวกับ 485 00:21:09,710 --> 00:21:11,540 >> ดังนั้นบวกเป็นตัวละครใหม่ 486 00:21:11,540 --> 00:21:14,512 แต่บรรดาผู้ที่ได้ทำ นี้มาก่อนสิ่งที่ไม่บวกหมายความว่าอย่างไร 487 00:21:14,512 --> 00:21:16,440 ใช่ 488 00:21:16,440 --> 00:21:17,120 Concatenate 489 00:21:17,120 --> 00:21:18,570 ดังนั้นเราจึงเห็นนี้ใน PHP 490 00:21:18,570 --> 00:21:20,315 มีเพียงจุด ผู้ประกอบการใน PHP ที่ 491 00:21:20,315 --> 00:21:22,000 จะเชื่อมสองสายด้วยกัน 492 00:21:22,000 --> 00:21:24,000 C เป็นอาการปวดคอที่จะทำเช่นนี้ 493 00:21:24,000 --> 00:21:27,310 การเรียกคืนจาก pset หกซึ่งเป็น โดยเฉพาะอาการปวดคอ, 494 00:21:27,310 --> 00:21:29,470 คุณจะต้องใช้ สิ่งที่ต้องการ strcat 495 00:21:29,470 --> 00:21:31,660 หลังจากจัดสรรหน่วยความจำ ในกองหรือกอง 496 00:21:31,660 --> 00:21:34,243 คุณจะต้องกระโดดผ่านห่วง เพียงเพื่อเชื่อมสองสาย 497 00:21:34,243 --> 00:21:36,040 ใน JavaScript ก็ง่ายสุด 498 00:21:36,040 --> 00:21:38,030 เพียงแค่ใช้ประกอบการบวกระหว่างพวกเขา 499 00:21:38,030 --> 00:21:41,420 >> ดังนั้นซับซ้อนมอง สิ่งที่ดูเหมือนว่าจะเป็นแบบนี้ 500 00:21:41,420 --> 00:21:43,490 เพราะในตอนท้ายของ นี้สตริงทั้งฉันเพียงแค่ 501 00:21:43,490 --> 00:21:45,797 concatenate ในเครื่องหมายอัศเจรีย์ 502 00:21:45,797 --> 00:21:48,380 ดังนั้นหากสิ่งที่โผล่ขึ้นมาได้ "สวัสดีเดวิด" "สวัสดีฮันนาห์" 503 00:21:48,380 --> 00:21:52,740 "สวัสดีมาเรีย" และอื่น ๆ อย่างเห็นได้ชัด สิ่งที่อยู่ตรงกลางระหว่างคนทั้งสอง 504 00:21:52,740 --> 00:21:55,215 pluses ต้องให้ฉันเข้าถึงสิ่งที่? 505 00:21:55,215 --> 00:21:58,855 506 00:21:58,855 --> 00:22:01,991 มีอะไรอยู่ในนั้นแน่นอน? 507 00:22:01,991 --> 00:22:02,490 ใช่ 508 00:22:02,490 --> 00:22:05,090 ดังนั้นฉันจะทำท่าที่นี่ ตอบชื่อของพวกเขาใช่มั้ย? 509 00:22:05,090 --> 00:22:10,380 ดังนั้นชื่อของพวกเขาโผล่ขึ้นมาในขั้นสุดท้าย ผล ดังนั้นสิ่งนี้หมายความว่าอย่างไร? 510 00:22:10,380 --> 00:22:15,080 ดีฉันนำเสนอก่อนหน้านี้ในการที่ ภาพที่เรียกว่า DOM 511 00:22:15,080 --> 00:22:18,580 มีองค์ประกอบรากพิเศษนี้ ทางขึ้นด้านบนเอกสารที่เรียกว่า 512 00:22:18,580 --> 00:22:21,660 และตอนนี้มันจะเปิดออกที่จะ จะเป็นตัวแปรทั่วโลกพิเศษ 513 00:22:21,660 --> 00:22:25,250 ใน JavaScript, สร้างขึ้นในซึ่งเป็น ทั้งกลุ่มของการทำงานที่มีประโยชน์ 514 00:22:25,250 --> 00:22:31,770 ท่ามกลางการทำงานที่มีประโยชน์คือ ความสามารถในการที่จะได้รับลูกหลานโหนดใด ๆ 515 00:22:31,770 --> 00:22:37,760 สี่เหลี่ยมเหล่านั้นหรือสี่เหลี่ยมหรือวงรี เป็นเพียงโหนดในต้นไม้เพื่อที่จะพูด 516 00:22:37,760 --> 00:22:41,850 >> ดังนั้นจึงปรากฎว่าสร้างขึ้นใน วัตถุเอกสารของ JavaScript 517 00:22:41,850 --> 00:22:47,300 ฟังก์ชั่นที่เรียกว่าเป็น วิธีการที่เรียกว่า getElementById 518 00:22:47,300 --> 00:22:50,410 ไวยากรณ์สำหรับการโทร ฟังก์ชั่นใน JavaScript 519 00:22:50,410 --> 00:22:55,220 ที่อยู่ภายในของวัตถุหรือ ตัวแปรเป็นเพียงสัญกรณ์จุด 520 00:22:55,220 --> 00:22:57,950 และเราเห็นนี้ใน C สิ่งไวยากรณ์ที่ struct 521 00:22:57,950 --> 00:23:03,530 คุณจะเห็นใน pset เจ็ดชนิดของ การเรียงลำดับของเมื่อคุณเห็น CS50 :: แบบสอบถาม 522 00:23:03,530 --> 00:23:08,070 ลำไส้ใหญ่ลำไส้ใหญ่ใน PHP เป็นอีกหนึ่ง วิธีการเรียกฟังก์ชั่นที่เป็น 523 00:23:08,070 --> 00:23:09,260 ภายในของวัตถุบางอย่าง 524 00:23:09,260 --> 00:23:11,960 >> แต่ตอนนี้ใน JavaScript, มันเป็นเพียงแค่จุด 525 00:23:11,960 --> 00:23:14,170 และเพื่อให้ฟังก์ชั่นนี้ อย่างพอชน​​ิดของ 526 00:23:14,170 --> 00:23:16,810 กล่าวว่าสิ่งที่ได้รับมัน does-- องค์ประกอบตามรหัส 527 00:23:16,810 --> 00:23:20,280 องค์ประกอบที่เป็นเพียงชื่ออื่น สำหรับแท็กหรือโหนดในดอม 528 00:23:20,280 --> 00:23:26,900 และเพื่อให้ได้รับองค์ประกอบตามรหัส "ชื่อ" หมายความว่านี่คือ this-- HTML ของฉัน 529 00:23:26,900 --> 00:23:31,910 และอยู่บนพื้นฐาน HTML นี้สิ่งที่ โหนดหรือสิ่งที่แท็กฉัน 530 00:23:31,910 --> 00:23:35,097 จะเป็นโปรแกรมมือ โดยการเรียก document.getElementById? 531 00:23:35,097 --> 00:23:37,650 532 00:23:37,650 --> 00:23:38,500 >> ใช่ว่า 533 00:23:38,500 --> 00:23:42,670 ฉันจะได้รับการป้อนข้อมูล มีองค์ประกอบที่มี ID เป็น "ชื่อ". 534 00:23:42,670 --> 00:23:45,140 ดังนั้นโดยเฉพาะคุณสามารถ คิดว่าฟังก์ชั่นนี้ 535 00:23:45,140 --> 00:23:49,560 getElementById เป็นวิธีของการให้ กลับชี้ไปยังโหนดเฉพาะที่ 536 00:23:49,560 --> 00:23:50,060 ในต้นไม้ 537 00:23:50,060 --> 00:23:51,980 เรายังไม่ได้วาดนี้ ต้นไม้ แต่ก็ทาง 538 00:23:51,980 --> 00:23:54,900 ในการได้รับการเข้าถึงที่ สี่เหลี่ยมผืนผ้าหรือสี่เหลี่ยมที่ 539 00:23:54,900 --> 00:23:58,090 โดยไม่ซ้ำกันระบุรหัสผ่านของ 540 00:23:58,090 --> 00:23:59,760 >> ตอนนี้ว่าทำไมถึงเป็นประโยชน์หรือไม่ 541 00:23:59,760 --> 00:24:01,510 ดีก็จะเปิดออก ว่าเมื่อคุณได้อากาศ 542 00:24:01,510 --> 00:24:07,220 ที่โหนดที่สี่เหลี่ยมผืนผ้าจาก ภาพโหนดภายในของมันนั้น 543 00:24:07,220 --> 00:24:10,660 ในที่สุดก็มีทั้งกลุ่ม คู่ค่าคีย์ properties-- 544 00:24:10,660 --> 00:24:13,480 หรือข้อมูลใดอย่างหนึ่งซึ่งเรียกว่าคุ้มค่า 545 00:24:13,480 --> 00:24:16,500 ดังนั้นแท้จริงมันเป็นชนิดของ คำหนึ่งที่จะอธิบายสิ่งที่ทั้ง 546 00:24:16,500 --> 00:24:19,370 แต่ในตอนท้ายของวัน ทั้งหมดนี้จะทำให้คุณ 547 00:24:19,370 --> 00:24:23,070 สตริงที่ผู้ใช้พิมพ์ลงใน ลำดับชั้นในแฟชั่นนี้ 548 00:24:23,070 --> 00:24:24,820 แต่ผมไม่ชอบ คู่ของสิ่งเหล่านี้ 549 00:24:24,820 --> 00:24:27,590 หรือค่อนข้างมีความอยากรู้อยากเห็นบางส่วนยังคง 550 00:24:27,590 --> 00:24:28,870 จากข้อมูลทั้งหมดที่ลำบากในการทำงาน 551 00:24:28,870 --> 00:24:33,420 ทำไมคุณคิดว่าฉันกลับ เท็จหลังจากเรียกทักทาย? 552 00:24:33,420 --> 00:24:35,910 นี้มีลักษณะน่าเกลียดเล็ก ๆ น้อย ๆ ที่ ฉันมีสองมีงบ 553 00:24:35,910 --> 00:24:38,730 คั่นด้วยเครื่องหมายอัฒภาค 554 00:24:38,730 --> 00:24:39,310 ลองเดา 555 00:24:39,310 --> 00:24:44,390 ถ้าฉันออกกลับเท็จสิ่งที่ ที่อาจเกิดขึ้นเพียงสัญชาตญาณ? 556 00:24:44,390 --> 00:24:46,990 557 00:24:46,990 --> 00:24:49,460 ขออภัยพูดอีกครั้ง? 558 00:24:49,460 --> 00:24:50,530 >> เปิดพวงของวินโดวส์ 559 00:24:50,530 --> 00:24:52,780 ดังนั้นบางสิ่งบางอย่างที่อาจเกิดขึ้นอาจ เช่นเดียวกับที่จะเกิดขึ้น 560 00:24:52,780 --> 00:24:54,422 สิ่งอื่นใด 561 00:24:54,422 --> 00:24:55,630 อาจส่งคำขอที่? 562 00:24:55,630 --> 00:24:59,109 563 00:24:59,109 --> 00:25:00,510 ไปยังหน้าเดียวกัน 564 00:25:00,510 --> 00:25:03,110 ดังนั้นในความเป็นจริงที่ว่า ใกล้คำตอบที่นี่ 565 00:25:03,110 --> 00:25:05,890 แม้ว่าจะไม่เหมือน ในอดีตที่ผ่านมาผมไม่ได้ 566 00:25:05,890 --> 00:25:09,300 ระบุแอตทริบิวต์การดำเนินการ ซึ่งปกติท​​ี่เราต้องทำ 567 00:25:09,300 --> 00:25:11,780 ปรากฎว่ามีการเริ่มต้น หากคุณไม่ได้ระบุการกระทำ 568 00:25:11,780 --> 00:25:15,370 มันชอบพูดว่าอ้างได้นำมาอ้าง หรือชื่อของไฟล์ตัวเอง 569 00:25:15,370 --> 00:25:17,850 ซึ่งในกรณีนี้จะ จะเป็นเหมือนพระ-0.html 570 00:25:17,850 --> 00:25:20,420 มันเป็นเพียงแค่ชนิดสรุปของ หรือมากกว่าโดยนัย 571 00:25:20,420 --> 00:25:22,420 >> ดังนั้นถ้าผมไม่ทำเช่นนี้ให้แจ้งให้ทราบล่วงหน้า 572 00:25:22,420 --> 00:25:23,230 ผมขอบันทึกนี้ 573 00:25:23,230 --> 00:25:25,270 และผมได้ลบผลตอบแทนที่เป็นเท็จ 574 00:25:25,270 --> 00:25:27,759 ผมขอกลับไปนี้ ตัวอย่างและแรงโหลดได้ 575 00:25:27,759 --> 00:25:30,800 และคุณอาจจะได้เห็นเราขอแนะนำ นี้ CS50 พูดคุยพวงครั้ง 576 00:25:30,800 --> 00:25:34,560 หากมีสิ่งใดเคยทำหน้าที่ขี้ขลาดและ เบราว์เซอร์ไม่ได้พฤติกรรมตามที่คุณคาดหวัง 577 00:25:34,560 --> 00:25:37,410 บ่อยครั้งที่คุณจะต้องการที่จะถือ เปลี่ยนแล้วคลิกโหลด 578 00:25:37,410 --> 00:25:41,480 ที่จะบังคับให้ทุกไฟล์ที่จะโหลด และไม่ใช้แคชของเบราเซอร์ 579 00:25:41,480 --> 00:25:47,032 หรือคัดลอกเพื่อให้ตอนนี้ให้ฉันไปข้างหน้าและ เปิดตรวจสอบของฉันแท็บเครือข่าย 580 00:25:47,032 --> 00:25:48,740 ฉันจะคลิก เข้าสู่ระบบรักษาเพราะผม 581 00:25:48,740 --> 00:25:51,660 ไม่ต้องการที่จะลบแถว เมื่อฉันได้รับพาไปที่อื่น 582 00:25:51,660 --> 00:25:54,650 >> ผมขอไปข้างหน้านี่ พิมพ์ Andi คลิกส่ง 583 00:25:54,650 --> 00:25:55,150 ทั้งหมดขวา 584 00:25:55,150 --> 00:25:56,480 ที่ดูเหมือนว่าเป็นไปตามคาด 585 00:25:56,480 --> 00:25:57,440 มันบอกว่า "สวัสดี Andi." 586 00:25:57,440 --> 00:25:59,420 ผมขอคลิกตกลง 587 00:25:59,420 --> 00:26:00,610 ที่น่าสนใจ 588 00:26:00,610 --> 00:26:05,100 ขอให้สังเกตว่าหน้าเปลี่ยน แม้ว่าที่หน้าเดิม 589 00:26:05,100 --> 00:26:06,770 ขอให้สังเกตชนิดของการเปลี่ยนแปลงของ URL 590 00:26:06,770 --> 00:26:09,430 มันเพิ่มเครื่องหมายคำถาม ซึ่งมักจะเป็นตัวบ่งชี้ 591 00:26:09,430 --> 00:26:11,260 ที่เราพยายามที่จะส่งบางสิ่งบางอย่าง 592 00:26:11,260 --> 00:26:13,570 และจากนั้นที่ด้านล่าง มากยิ่งขึ้นอย่างชัดเจน 593 00:26:13,570 --> 00:26:17,570 ที่นี่คือการร้องขอ HTTP ที่เกิดขึ้นจริง ซึ่งได้รับการตอบสนองของ 200 ที่ 594 00:26:17,570 --> 00:26:18,490 นำฉันกลับมาที่นี่ 595 00:26:18,490 --> 00:26:20,250 >> ดังนั้นนี่คือสิ่งที่ไม่ได้ เราต้องการที่จะทำใช่มั้ย? 596 00:26:20,250 --> 00:26:22,166 เพราะผมไม่ต้องการที่จะ โหลดหน้าทั้งหมด 597 00:26:22,166 --> 00:26:24,970 ฉันแทนอยากจะกลับ เท็จเพื่อให้เป็นไปลัดวงจร 598 00:26:24,970 --> 00:26:28,840 การทำงานเริ่มต้นเบราว์เซอร์ที่ ได้แน่นอนที่จะส่งหน้า 599 00:26:28,840 --> 00:26:31,700 >> ดังนั้นลองมาดูที่หนึ่ง ตัวอย่างที่ดีเล็กน้อย 600 00:26:31,700 --> 00:26:33,920 นี้เป็นรุ่นที่พระหนึ่ง 601 00:26:33,920 --> 00:26:36,680 และแจ้งให้ทราบดังต่อไปนี้ 602 00:26:36,680 --> 00:26:39,150 มันตกลงถ้าคุณไม่ grok ทุกสายของรหัส 603 00:26:39,150 --> 00:26:41,750 แต่สิ่งที่เป็นพื้นฐานที่แตกต่าง เกี่ยวกับการดำเนินการนี​​้หรือไม่? 604 00:26:41,750 --> 00:26:44,690 ฉันจะกำหนดมันจะทำงาน เดียวกันจะเป็นสิ่งเดียวกัน 605 00:26:44,690 --> 00:26:49,320 606 00:26:49,320 --> 00:26:51,570 ฉันมีอะไรที่เห็นได้ชัดทำแตกต่างกัน? 607 00:26:51,570 --> 00:26:52,266 ใช่? 608 00:26:52,266 --> 00:26:53,182 >> ผู้ชม: [ไม่ได้ยิน] 609 00:26:53,182 --> 00:27:03,421 610 00:27:03,421 --> 00:27:04,170 DAVID ลัน: ใช่ 611 00:27:04,170 --> 00:27:08,620 ดังนั้นฟังก์ชั่นที่มีการกำหนด differently-- ในคำอื่น ๆ ที่หายไปจากรูปแบบ 612 00:27:08,620 --> 00:27:13,180 มีขึ้นในบรรทัด 7-- หรือ ค่อนข้างสาย 8-- ไม่ 613 00:27:13,180 --> 00:27:15,070 ฉันจะมีแอตทริบิวต์ onsubmit 614 00:27:15,070 --> 00:27:16,750 ในตัวอย่างก่อนหน้านี้ผมก็มีนี้ 615 00:27:16,750 --> 00:27:18,530 แล้วฉันอักษรเขียนรหัสของฉันที่นี่ 616 00:27:18,530 --> 00:27:20,210 และจากนั้นผมบอกว่ากลับเท็จ 617 00:27:20,210 --> 00:27:22,180 และถ้ามันไม่ได้ถู คุณทางที่ผิด ๆ 618 00:27:22,180 --> 00:27:26,140 มันควรจะเริ่มต้นที่จะตราบเท่า เป็นเช่นเดียวกับใน HTML, 619 00:27:26,140 --> 00:27:29,530 เมื่อเราเริ่มที่จะร่วมคลาคล่ำมัน ด้วย CSS ในคุณลักษณะสไตล์ 620 00:27:29,530 --> 00:27:32,890 มันเริ่มต้นเพียงเพื่อให้ได้เล็ก ๆ น้อย ๆ ยุ่งหรือรู้สึกผิดเล็ก ๆ น้อย ๆ 621 00:27:32,890 --> 00:27:35,020 >> ในทำนองเดียวกันที่นี่ถ้า ที่คุณจะเริ่มการ HTML, 622 00:27:35,020 --> 00:27:37,419 แล้วคุณโดยอัตโนมัติ ป๋อมบางโค้ด JavaScript 623 00:27:37,419 --> 00:27:40,460 ในช่วงกลางของสตริงที่ยกมาก็ ไม่ได้ไปจะบำรุงรักษามาก 624 00:27:40,460 --> 00:27:40,630 ใช่มั้ย? 625 00:27:40,630 --> 00:27:43,690 ก็ไม่ได้ที่เห็นได้ชัดในตอนแรก ที่วางรหัส JavaScript เป็น 626 00:27:43,690 --> 00:27:46,590 ดังนั้นมันจะเป็นสิ่งที่ดีจริงๆ หลักการของการออกแบบที่ดีขึ้น 627 00:27:46,590 --> 00:27:50,500 ขอให้ HTML ของเราอย่างสมบูรณ์ แยกออกจาก JavaScript ของเรา 628 00:27:50,500 --> 00:27:53,150 >> เพื่อที่จะทำอย่างนั้นสิ่งที่เราได้ ทำที่นี่เป็น following-- 629 00:27:53,150 --> 00:27:56,790 เราก็ใช้ HTML สำหรับมาร์กอัปเท่านั้น 630 00:27:56,790 --> 00:28:00,730 และอื่น ๆ ในรุ่นหนึ่งในนี้ทั้งหมด ฉันมีเป็นรูปแบบที่มีรหัสเฉพาะ 631 00:28:00,730 --> 00:28:04,630 และจากนั้นก็ลงที่นี่ผมได้รับผลประโยชน์ ของคุณสมบัติพิเศษของ JavaScript 632 00:28:04,630 --> 00:28:08,480 โดยที่ฉันสามารถมีสิ่งที่เป็น เรียกว่าฟังก์ชั่นที่ไม่ระบุชื่อ 633 00:28:08,480 --> 00:28:14,150 ดังนั้นจึงปรากฎว่าถ้าผมเรียก document.getElementById ของ 'สาธิต' 634 00:28:14,150 --> 00:28:18,890 ที่ชอบให้ฉันชี้ไปยัง โหนดนี้ในต้นไม้ของฉันองค์ประกอบรูปแบบ 635 00:28:18,890 --> 00:28:20,100 เพื่อที่จะพูด 636 00:28:20,100 --> 00:28:22,220 >> ตอนนี้ผมเพิ่งรู้จาก รู้บิตของที่ HTML 637 00:28:22,220 --> 00:28:26,330 ตอนนี้เรากำลังมีการอ่านออนไลน์บาง อ้างอิงว่าองค์ประกอบรูปแบบที่สนับสนุน 638 00:28:26,330 --> 00:28:29,950 ทั้งกลุ่มของ listeners-- เหตุการณ์ คำอื่น ๆ รายการซักผ้าของเหตุการณ์ 639 00:28:29,950 --> 00:28:31,700 ผู้ฟังที่เราเห็นช่วงเวลาที่ผ่านมา 640 00:28:31,700 --> 00:28:35,950 ฉันรู้จากการอ่านเอกสาร onsubmit ว่าเป็นเหตุการณ์ที่ถูกต้อง 641 00:28:35,950 --> 00:28:38,520 ฟังองค์ประกอบรูปแบบ 642 00:28:38,520 --> 00:28:41,480 >> ดังนั้นเมื่อผมรู้ว่า มันปลอดภัยสำหรับผมที่จะทำ 643 00:28:41,480 --> 00:28:45,390 following-- โหนดที่ได้รับ จากต้นไม้องค์ประกอบรูปแบบ 644 00:28:45,390 --> 00:28:48,070 และดูของสิ่งที่เรียกว่า สถานที่ให้บริการ onsubmit 645 00:28:48,070 --> 00:28:49,880 ดังนั้นจุดก็หมายความว่า นี้เป็นสถานที่ให้บริการ 646 00:28:49,880 --> 00:28:52,180 เช่นค่าพิเศษภายในของมัน 647 00:28:52,180 --> 00:28:55,590 และสิ่งที่ชนิดของข้อมูลที่ฉัน กำหนดเห็นได้ชัด 648 00:28:55,590 --> 00:28:58,900 เพื่อ onsubmit ซึ่งเป็น ได้อย่างมีประสิทธิภาพตัวแปรภายใน 649 00:28:58,900 --> 00:29:01,010 ของโหนดในต้นไม้ที่? 650 00:29:01,010 --> 00:29:04,100 มันเป็นสนามที่อยู่ภายในโครงสร้างที่ 651 00:29:04,100 --> 00:29:05,810 ชนิดข้อมูลคืออะไร? 652 00:29:05,810 --> 00:29:07,030 >> ฟังก์ชั่นใช่ 653 00:29:07,030 --> 00:29:08,607 ดังนั้นจึงปรากฎว่า PHP มีนี้ 654 00:29:08,607 --> 00:29:10,440 และแม้ว่าเรา ไม่ได้บอกคุณเกี่ยวกับเรื่องนี้ 655 00:29:10,440 --> 00:29:16,240 ซีนอกจากนี้ยังมีคำแนะนำการทำงานที่ ความสามารถในการส่งผ่านและกำหนดฟังก์ชั่น 656 00:29:16,240 --> 00:29:18,330 เป็นค่าตัวแปร 'ตัวเอง 657 00:29:18,330 --> 00:29:20,280 และเราจะไม่ ที่จะถอยหลังกลับไปซี 658 00:29:20,280 --> 00:29:23,250 แต่ตอนนี้มันกลับกลายเป็นว่า อยู่ทางด้านขวามือที่นี่ 659 00:29:23,250 --> 00:29:26,260 แม้ว่ามันจะดูเล็ก ๆ น้อย ๆ ขี้ขลาดที่นี้หมายถึงเฮ้เบราว์เซอร์ 660 00:29:26,260 --> 00:29:27,550 ให้ฉันฟังก์ชั่น 661 00:29:27,550 --> 00:29:30,560 ฉันจะไม่ได้รำคาญให้ มันชื่อเพราะฉันอย่างแท้จริง 662 00:29:30,560 --> 00:29:34,450 จะกำหนดขอเรียกว่า ที่อยู่ของฟังก์ชั่นนี้ 663 00:29:34,450 --> 00:29:35,994 ทันทีที่ onsubmit 664 00:29:35,994 --> 00:29:39,160 ในคำอื่น ๆ เบราว์เซอร์ที่คุณไม่จำเป็น รู้ว่าสิ่งที่ฟังก์ชั่นนี้เรียกว่า 665 00:29:39,160 --> 00:29:41,890 คุณเพียงแค่ต้องรู้ว่า ที่มันเป็นในหน่วยความจำ 666 00:29:41,890 --> 00:29:44,210 และดังนั้นจึงพอเพียงเพียงเพื่อ มีเครื่องหมายเท่ากับมี 667 00:29:44,210 --> 00:29:48,240 และไม่รำคาญการตั้งชื่อนี้เช่น foo หรือทักทายหรือคำอื่น ๆ 668 00:29:48,240 --> 00:29:50,150 และตอนนี้เป็นเพียงสิ่งโวหาร 669 00:29:50,150 --> 00:29:53,100 ฉันจะย้ายวงเล็บปีกกานี้ บนบรรทัดถัดไป the-- sorry-- 670 00:29:53,100 --> 00:29:54,750 เหมือนอย่างที่เรามักจะทำ CS50 671 00:29:54,750 --> 00:29:57,550 แต่ใน JavaScript ก็ จริง stylistically ที่พบบ่อย 672 00:29:57,550 --> 00:30:00,450 เพียงแค่ให้วงเล็บปีกกาที่ คนแรกว่าบรรทัดแรก 673 00:30:00,450 --> 00:30:02,620 >> แต่ต่อจากนี้มี ไม่มีอะไรน่าสนใจ. 674 00:30:02,620 --> 00:30:05,830 วงเล็บปีกกาเปิดได้เพียงแค่ demarcates จุดเริ่มต้นของการทำงานของฉัน 675 00:30:05,830 --> 00:30:09,320 ฟังก์ชั่นอยู่ในขณะนี้ เหมือนกันยกเว้นฉัน 676 00:30:09,320 --> 00:30:11,452 รวมถึงผลตอบแทนที่เป็นเท็จ ภายในของฟังก์ชั่นนี้ 677 00:30:11,452 --> 00:30:13,160 เพราะมันจะเปิด out-- และคุณจะมีเพียง 678 00:30:13,160 --> 00:30:14,980 รู้เรื่องนี้จากการอ่าน documentation-- 679 00:30:14,980 --> 00:30:19,740 ว่าถ้าฟังก์ชั่นที่คุณกำหนด การจัดการ onsubmit ผลตอบแทนที่เป็นเท็จ 680 00:30:19,740 --> 00:30:23,420 เบราว์เซอร์เพียงรู้และตกลง ไม่ได้ส่งแบบฟอร์มไปยังเซิร์ฟเวอร์ 681 00:30:23,420 --> 00:30:27,210 ถ้ามันกลับเป็นจริงก็จะส่ง ไปยังเซิร์ฟเวอร์สำหรับเหตุผลที่เราจะเห็น 682 00:30:27,210 --> 00:30:28,700 มีประโยชน์ในการรอสักครู่ 683 00:30:28,700 --> 00:30:31,000 >> และแล้วหลังจากอัฒภาค รั้งหยิกมีเพียงแค่ 684 00:30:31,000 --> 00:30:32,541 หมายความว่าฉันทำกำหนดฟังก์ชั่น 685 00:30:32,541 --> 00:30:36,600 คุณรู้ว่าสิ่งที่จะเรียกทันที ในขณะที่คุณได้ยินส่ง 686 00:30:36,600 --> 00:30:37,100 ทั้งหมดขวา 687 00:30:37,100 --> 00:30:40,650 นี้ยังคงเป็นชนิดของเนื้อหาที่น่าเกลียด 688 00:30:40,650 --> 00:30:42,190 ดังนั้นสิ่งที่เราจะต้องทำอย่างไร 689 00:30:42,190 --> 00:30:45,000 >> ดีก็จะเปิดออกแล้ว รุ่นที่สองซึ่งเป็น last-- 690 00:30:45,000 --> 00:30:46,780 และเราจะได้อย่างรวดเร็วเพียงแค่นี้ 691 00:30:46,780 --> 00:30:49,850 ที่มีความเสี่ยงในการทำ มันไม่สวยงามเท่าก็จะเปิดออก 692 00:30:49,850 --> 00:30:52,160 ว่ามีในห้องสมุด โลกที่เรียกว่า jQuery 693 00:30:52,160 --> 00:30:54,900 และ jQuery เป็นซุปเปอร์ ห้องสมุด JavaScript ที่นิยม 694 00:30:54,900 --> 00:30:57,930 ที่ทำให้เป็นที่นิยมมากที่สุด JavaScript-- ใด ๆ ก็ไม่ได้ 695 00:30:57,930 --> 00:31:00,540 เรื่องแปลกสำหรับคนที่จะสร้างความสับสน jQuery กับ JavaScript 696 00:31:00,540 --> 00:31:01,070 ทำไม? 697 00:31:01,070 --> 00:31:04,990 จาวาสคริปต์ตัวเองมีมาก วิธีการทำอย่างละเอียด things-- 698 00:31:04,990 --> 00:31:07,820 document.getElementById, dadadadadada 699 00:31:07,820 --> 00:31:10,510 คุณท้ายมีมาก สายยาวของรหัส 700 00:31:10,510 --> 00:31:15,550 >> ดังนั้นเพื่อนชื่อจอห์น Resid, ที่ใช้งานได้จริงสำหรับการเริ่มต้น 701 00:31:15,550 --> 00:31:18,630 ถึงวันนี้ออกมา กับปีที่ผ่านมาห้องสมุดนี้ 702 00:31:18,630 --> 00:31:22,070 ที่ผ่านมาที่หลาย ๆ คนมีส่วนร่วม จะเรียกว่า jQuery ที่มีการเปลี่ยนแปลง 703 00:31:22,070 --> 00:31:23,449 ไวยากรณ์ในทางต่อไป 704 00:31:23,449 --> 00:31:25,740 เพียงเพื่อให้คุณได้เห็นนี้ เพราะคุณจะได้อย่างสม่ำเสมอ 705 00:31:25,740 --> 00:31:28,140 ถ้าเห็นนี้ทำ Web-based โครงการสุดท้าย 706 00:31:28,140 --> 00:31:33,270 นี้จะเป็นวิธีที่เทียบเท่า การดำเนินการที่ฟังก์ชั่นเดียวกันโดยใช้ 707 00:31:33,270 --> 00:31:34,630 ห้องสมุดพิเศษนี้ 708 00:31:34,630 --> 00:31:36,680 >> ตอนนี้มากกว่าที่จะหยอกล้อ มันออกจากกันอย่างครบถ้วน 709 00:31:36,680 --> 00:31:38,520 ขอเพียงแค่มองไปที่รูปแบบบาง 710 00:31:38,520 --> 00:31:44,850 รูปแบบนี้ดูเหมือนจะมี วิธีการหลายฟังก์ชั่นที่ไม่ระบุชื่อ 711 00:31:44,850 --> 00:31:49,584 หรือฟังก์ชั่นนิรนาม ฟังก์ชั่นหรืออาคาแลมบ์ดา? 712 00:31:49,584 --> 00:31:50,190 สองใช่มั้ย? 713 00:31:50,190 --> 00:31:52,690 และคุณรู้ว่าแม้ว่า คุณไม่ได้สุดแสนสบายกับเรื่องนี้ 714 00:31:52,690 --> 00:31:55,780 เพียงแค่ความจริงที่ว่ามัน กล่าวว่าฟังก์ชั่น () สองครั้ง 715 00:31:55,780 --> 00:31:58,172 >> และปรากฎว่า สิ่งที่รหัสนี้ doing-- 716 00:31:58,172 --> 00:32:01,255 และเราจะอ้างถึงการอ้างอิงออนไลน์ ในที่สุดความช่วยเหลือเกี่ยวกับเรื่องนี้บางส่วน 717 00:32:01,255 --> 00:32:04,480 เพียงแค่นี้ก็หมายความว่าเมื่อ เอกสารพร้อม 718 00:32:04,480 --> 00:32:07,490 ไปข้างหน้าและลงทะเบียน ฟังก์ชันต่อไปนี้ 719 00:32:07,490 --> 00:32:12,064 เป็นส่งจัดการสำหรับ HTML องค์ประกอบที่มีความคิดที่ไม่ซ้ำกันคือการสาธิต 720 00:32:12,064 --> 00:32:14,480 และแล้วเมื่อที่เกิดขึ้น เรียกทั้งสองบรรทัดของรหัส 721 00:32:14,480 --> 00:32:18,677 และนี่คืออนาถมากขึ้น วิธีการอย่างละเอียดในการพูดเท็จการกลับมา 722 00:32:18,677 --> 00:32:21,510 และเรากล่าวถึงนี้เพียงเพราะ คุณจะเห็นรหัสเช่นออนไลน์นี้ 723 00:32:21,510 --> 00:32:23,140 และมันก็เป็นอะไรที่จะ daunted โดย 724 00:32:23,140 --> 00:32:26,057 แต่เก็บไว้ในใจว่าสิ่งที่เป็น จะเป็นเรื่องธรรมดาใน JavaScript 725 00:32:26,057 --> 00:32:26,765 เป็นกระบวนทัศน์นี้ 726 00:32:26,765 --> 00:32:29,510 และนั่นเป็นเหตุผลที่เราจะแสดงมันตอนนี้ 727 00:32:29,510 --> 00:32:30,010 ทั้งหมดขวา 728 00:32:30,010 --> 00:32:32,730 โดยไม่ต้องอาศัยอยู่มากเกินไป มากในไวยากรณ์ที่ 729 00:32:32,730 --> 00:32:37,800 จะมีคำถามใด ๆ เกี่ยวกับ ตัวอย่างเหล่านี้หรือความคิดป่านนี้? 730 00:32:37,800 --> 00:32:38,300 ทั้งหมดขวา 731 00:32:38,300 --> 00:32:40,220 ดังนั้นขอให้ใช้นี้สำหรับสิ่งที่มีประโยชน์ 732 00:32:40,220 --> 00:32:47,070 ทำหน้าเว็บที่เพียงแค่พูดว่าสวัสดี ดังนั้นจึงไม่ได้ทั้งหมดที่น่าสนใจว่า 733 00:32:47,070 --> 00:32:47,830 ไม่ underwhelm 734 00:32:47,830 --> 00:32:51,038 หนึ่งนี้ไม่ได้ไปจะสวยงาม แต่มันจะไปทำสิ่งที่มีประโยชน์ 735 00:32:51,038 --> 00:32:56,350 ให้ฉันกลับไปที่ไดเรคทอของฉัน ที่นี่และเปิดการพูดแบบ 0.html 736 00:32:56,350 --> 00:32:59,320 >> ดังนั้นคิดว่านี้เป็นน้อง กีฬาภายในการลงทะเบียนหน้า 737 00:32:59,320 --> 00:33:01,780 โดยไม่ต้องมี CSS หรือความรู้สึกของการออกแบบใด ๆ 738 00:33:01,780 --> 00:33:05,404 และผมต้องการที่จะไปข้างหน้าและ ลงทะเบียนที่นี่ด้วยรหัสผ่าน 739 00:33:05,404 --> 00:33:08,320 และฉันจะยอมรับข้อตกลง และเงื่อนไขและคลิกที่สมัครสมาชิก 740 00:33:08,320 --> 00:33:11,700 และตอนนี้เว็บไซต์กล่าวว่า "คุณเป็น การลงทะเบียน! (ดีไม่จริง.) " 741 00:33:11,700 --> 00:33:15,070 ที่ดูเหมือนว่ามันทำงาน แต่ ให้ฉันไปข้างหน้าและบังคับให้โหลด 742 00:33:15,070 --> 00:33:18,720 >> และให้ฉันบอกว่าไม่มีคุณทำไม่ได้ ต้องการที่อยู่อีเมลของฉันที่เกิดขึ้นจริง 743 00:33:18,720 --> 00:33:21,820 หรือบางทีเราก็จะบอกว่าจดหมายในการมี 744 00:33:21,820 --> 00:33:25,080 รหัสผ่านจะเป็นเช่น 12345 745 00:33:25,080 --> 00:33:28,810 และจากนั้นเพียงเพราะฉัน งี่เง่าตอนนี้ก็ 123456789 746 00:33:28,810 --> 00:33:31,150 และฉันไม่ได้จะไปตรวจสอบกล่องของคุณ 747 00:33:31,150 --> 00:33:31,850 >> อืม 748 00:33:31,850 --> 00:33:32,350 ทั้งหมดขวา 749 00:33:32,350 --> 00:33:34,920 ดังนั้นจึงมีหลายโอกาส สำหรับการปรับปรุงที่นี่ 750 00:33:34,920 --> 00:33:39,070 และคุณรู้หรือจะเห็นใน pset เจ็ดที่คุณสามารถเขียน code-- 751 00:33:39,070 --> 00:33:41,890 และคุณจะต้องเขียน รหัส PHP-- ที่จะปกป้อง 752 00:33:41,890 --> 00:33:45,780 กับชนิดเหล่านี้ของผู้ใช้ ข้อผิดพลาดเนื่องจากผู้ใช้อย่างชัดเจน 753 00:33:45,780 --> 00:33:46,790 ยังไม่ได้ให้ความร่วมมือ 754 00:33:46,790 --> 00:33:49,680 และเขาหรือเธอไม่ได้ให้คุณทุก ค่าที่คุณต้องการหรือแม้กระทั่งในรูปแบบ 755 00:33:49,680 --> 00:33:50,630 ที่คุณอยากให้พวกเขา 756 00:33:50,630 --> 00:33:53,250 ดังนั้นคุณจะเห็นใน pset ที่เจ็ด แน่นอนเราอาจจะมีบางส่วน 757 00:33:53,250 --> 00:33:55,680 ถ้าเงื่อนไขที่บอกว่า ถ้าที่อยู่อีเมล 758 00:33:55,680 --> 00:33:59,450 ไม่ username@something.edu ที่ ที่เราสามารถทำได้เพียงแค่ 759 00:33:59,450 --> 00:34:02,575 พูดขอโทษและแสดงความเสียใจกับผู้ใช้ มากเช่นคุณอาจจะอยู่ใน pset เจ็ด 760 00:34:02,575 --> 00:34:05,700 หรือถ้าพวกเขายังไม่ได้ตรวจสอบกล่องว่า จะเปิดออกใน PHP คุณสามารถตรวจสอบว่า 761 00:34:05,700 --> 00:34:06,200 เกินไป 762 00:34:06,200 --> 00:34:09,389 และแน่นอนถ้ารหัสผ่าน ไม่ตรงกับใน register.php 763 00:34:09,389 --> 00:34:11,521 สำหรับ pset เจ็ดคุณสามารถตรวจสอบว่า 764 00:34:11,521 --> 00:34:13,770 แต่นั่นเป็นความเจ็บปวดในการ คอในตอนนี้พวกเขาขอ 765 00:34:13,770 --> 00:34:15,510 เราไปตลอดทางไปยังเซิร์ฟเวอร์ 766 00:34:15,510 --> 00:34:17,053 ผู้ใช้จะได้แจ้งให้ทราบถึงข้อผิดพลาด 767 00:34:17,053 --> 00:34:19,219 และอย่างน้อยถ้าคุณใช้ เทคนิคบางคนชอบเล่น 768 00:34:19,219 --> 00:34:20,929 ตอนนี้พวกเขาจะต้องคลิกลูกศรด้านหลัง 769 00:34:20,929 --> 00:34:23,300 มันจะไม่ดีเช่น เว็บไซต์จำนวนมากในวันนี้ 770 00:34:23,300 --> 00:34:26,190 ถ้าคุณมีมากขึ้นทันที ข้อเสนอแนะได้ทันที? 771 00:34:26,190 --> 00:34:31,389 >> ในคำอื่น ๆ ให้ฉันไปกับรุ่น อย่างใดอย่างหนึ่งที่เป็นไปได้ไม่สวย 772 00:34:31,389 --> 00:34:33,469 แต่มันจะมีคุณลักษณะนี้ 773 00:34:33,469 --> 00:34:39,590 ลัน, 12345, 123456789 ไม่ จะไปตรวจสอบกล่อง, สมัครสมาชิก 774 00:34:39,590 --> 00:34:41,330 รหัสผ่านไม่ตรงกัน. 775 00:34:41,330 --> 00:34:44,459 ดังนั้นแม้ว่าป๊อปอัพนี้ ugly-- เราสามารถเปลี่ยนนี้ในที่สุด 776 00:34:44,459 --> 00:34:47,000 กับสิ่งที่ต้องการเงินทุน, ซึ่งคุณจะเห็นใน pset เจ็ด 777 00:34:47,000 --> 00:34:50,239 เป็นที่นิยมมาก library-- ฉันไม่ ตรวจสอบว่ารหัสผ่านไม่ตรงกับ 778 00:34:50,239 --> 00:34:50,739 ทั้งหมดขวา 779 00:34:50,739 --> 00:34:52,530 ดีให้ฉันแก้ไขปัญหาที่เป็นผู้ใช้ 780 00:34:52,530 --> 00:34:55,460 ให้ฉันไปข้างหน้าและบอกว่า 12345, 12345 781 00:34:55,460 --> 00:34:57,780 ยังไม่ตรวจสอบข้อตกลง 782 00:34:57,780 --> 00:35:00,210 คุณต้องยอมรับ ข้อกำหนดและเงื่อนไข 783 00:35:00,210 --> 00:35:01,760 ดังนั้นทำไม? 784 00:35:01,760 --> 00:35:04,100 >> ถ้าเราได้ posited แล้ว ว่ามีวิธีการ 785 00:35:04,100 --> 00:35:07,260 และเราได้คุณจำเป็นต้องใช้ pset เจ็ดในการตรวจสอบข้อผิดพลาด 786 00:35:07,260 --> 00:35:09,780 สภาพเช่นนี้ ฝั่งเซิร์ฟเวอร์ฉันควรจะทำไม 787 00:35:09,780 --> 00:35:13,940 รำคาญยังทำเช่นนี้ใน JavaScript? 788 00:35:13,940 --> 00:35:15,850 มีอะไรในการโต้แย้ง ความโปรดปรานของการเพิ่มสิ่งที่ 789 00:35:15,850 --> 00:35:18,760 คุณกำลังจะเห็นเป็น some-- มีความซับซ้อนเพิ่มเติม 790 00:35:18,760 --> 00:35:23,610 791 00:35:23,610 --> 00:35:25,930 >> อาจจะมีอัพไซด์ไม่ 792 00:35:25,930 --> 00:35:26,924 มันจะเป็นอะไร? 793 00:35:26,924 --> 00:35:27,840 ผู้ชม: [ไม่ได้ยิน] 794 00:35:27,840 --> 00:35:31,132 795 00:35:31,132 --> 00:35:32,340 DAVID ลัน: โอ้น่าสนใจ 796 00:35:32,340 --> 00:35:33,530 การหาประโยชน์ที่อาจเกิดขึ้น 797 00:35:33,530 --> 00:35:37,540 ดังนั้นแน่ใจว่าถ้าคุณไม่ได้จัดการ ผู้ใช้ป้อนข้อมูลที่ผิดพลาดที่ยิ่งใหญ่ 798 00:35:37,540 --> 00:35:40,170 บางทีมันอาจจะทั้งหมดดีกว่าถ้ามัน ไม่ได้เข้าถึงเซิร์ฟเวอร์ของคุณ 799 00:35:40,170 --> 00:35:42,160 ฉันจะผลักดันกลับไปที่นั่นและ พูดคุณควรอาจจะ 800 00:35:42,160 --> 00:35:43,284 แก้ไขทั้งสองปัญหาเหล​​่านั้น 801 00:35:43,284 --> 00:35:44,140 แต่ที่เป็นธรรม 802 00:35:44,140 --> 00:35:44,710 สิ่งอื่นใด 803 00:35:44,710 --> 00:35:45,626 >> ผู้ชม: [ไม่ได้ยิน] 804 00:35:45,626 --> 00:35:47,970 805 00:35:47,970 --> 00:35:49,014 >> DAVID ลัน: ใช่ 806 00:35:49,014 --> 00:35:51,680 รหัสนี้ในขณะที่เรากล่าวว่าก่อนที่จะเป็น ตีความในฝั่งไคลเอ็นต์ 807 00:35:51,680 --> 00:35:53,846 มันไม่รำคาญเซิร์ฟเวอร์ ซึ่งหมายความว่ามันไม่ได้ 808 00:35:53,846 --> 00:35:55,930 ส่งผลกระทบต่อภาระของเซิร์ฟเวอร์หรือกำลังการผลิต 809 00:35:55,930 --> 00:35:59,840 และตอนนี้สำหรับผมเก่าเล็ก ๆ น้อย ๆ นี้จะไม่มีผลที่มีความหมาย 810 00:35:59,840 --> 00:36:01,970 เพราะผมมีผู้ใช้คนหนึ่งในขณะนี้ 811 00:36:01,970 --> 00:36:04,010 >> แต่ถ้าคุณใด ๆ เว็บไซต์ที่มีขนาดที่เหมาะสม 812 00:36:04,010 --> 00:36:07,400 โดยเฉพาะอย่างยิ่งที่ใหญ่ที่สุดเช่น Facebook, มากกว่าที่คุณสามารถให้คนออก 813 00:36:07,400 --> 00:36:09,927 ของเซิร์ฟเวอร์ของคุณดีขึ้น เพราะเซิร์ฟเวอร์ของหลักสูตร 814 00:36:09,927 --> 00:36:12,510 มีเพียงจำนวน จำกัด แรม จำนวน จำกัด ของกิกะเฮิรตซ์, 815 00:36:12,510 --> 00:36:16,340 จำนวน จำกัด ของสิ่งที่ มันสามารถทำต่อหน่วยของเวลา 816 00:36:16,340 --> 00:36:19,170 ดังนั้นหากมีคนมากขึ้นใน โลกตีเซิร์ฟเวอร์ของคุณ 817 00:36:19,170 --> 00:36:21,750 ตั้งใจเข้าสู่ระบบ ไม่ถูกต้องก็เช่นกันถ้าคุณ 818 00:36:21,750 --> 00:36:23,254 สามารถให้โหลดที่ปิดเซิร์ฟเวอร์ของคุณ 819 00:36:23,254 --> 00:36:25,420 พลัสโดยเฉพาะอย่างยิ่งบนมือถือ device-- ถ้าคุณเคย 820 00:36:25,420 --> 00:36:29,190 เข้าสู่ my.harvard หรือ netid เยลหรือเหมือน 821 00:36:29,190 --> 00:36:32,330 มีความล่าช้านี้ที่มีจำนวนมากของ เว็บไซต์เช่นนั้นโดยจะใช้เวลา 822 00:36:32,330 --> 00:36:34,110 เหมือนสองแช่งหรือสองบางครั้ง 823 00:36:34,110 --> 00:36:37,979 และแล้วพระเจ้าของฉันถ้าคุณพิมพ์ผิด, แล้วคุณจะต้องตีกลับและทำซ้ำได้ 824 00:36:37,979 --> 00:36:40,520 ดังนั้นจึงมีความล่าช้าโดยเฉพาะอย่างยิ่ง ในการเชื่อมต่อเครือข่ายที่ช้าลง 825 00:36:40,520 --> 00:36:43,030 แต่ JavaScript เพราะ มันจะทำงานบนไคลเอนต์ 826 00:36:43,030 --> 00:36:46,720 และไม่จำเป็นที่จะต้องกลับไปมา ข้ามอินเทอร์เน็ตช้าที่อาจเกิดขึ้น 827 00:36:46,720 --> 00:36:49,780 การเชื่อมต่อคุณจะได้รับ ความคิดเห็นทันทีเกือบ 828 00:36:49,780 --> 00:36:50,760 >> ดังนั้นเรามาดูที่นี้ 829 00:36:50,760 --> 00:36:54,280 ผมขอเปิดรูปแบบ 0 ดู HTML ที่นี่ 830 00:36:54,280 --> 00:36:56,040 และขอเพียงแค่เห็นสิ่งที่เกิดขึ้น 831 00:36:56,040 --> 00:36:59,460 นี่คือรูปแบบที่มี การดำเนินการคือ register.php 832 00:36:59,460 --> 00:37:01,530 ฉันเพียงแค่ใช้เพื่อให้ได้รับ ที่ฉันจะได้เห็นของ URL 833 00:37:01,530 --> 00:37:05,030 แต่สำหรับรหัสผ่านที่เราก็ต้องการ การเปลี่ยนแปลงนี้จะโพสต์ในความเป็นจริง 834 00:37:05,030 --> 00:37:06,910 นี่คือช่องใส่ของข้อความประเภท 835 00:37:06,910 --> 00:37:09,050 นี่คือการป้อนข้อมูลอื่น ด้านการพิมพ์รหัสผ่าน 836 00:37:09,050 --> 00:37:13,150 นี่คือถ้าคุณไม่เคยเห็น การป้อนข้อมูลของช่องประเภท 837 00:37:13,150 --> 00:37:15,250 >> แต่ไม่มี JavaScript ที่นี่ แต่อย่างใด 838 00:37:15,250 --> 00:37:18,170 นี่เป็นเพียง HTM​​L ที่ ไป register.php 839 00:37:18,170 --> 00:37:21,020 แต่ในรุ่นหนึ่งที่ฉัน เริ่มต้นที่จะได้รับผู้ที่ป๊อปอัพ 840 00:37:21,020 --> 00:37:23,010 เรามาดูสิ่งที่เกิดขึ้นจริงที่นี่ 841 00:37:23,010 --> 00:37:26,757 ในรุ่นหนึ่งในสิ่งที่ ฉันจะ see-- ฉัน 842 00:37:26,757 --> 00:37:29,340 คิดว่าฉันสามารถแผงลอยพอ ด้วยคำพูดที่พอ แต่ฉันวิ่งออก 843 00:37:29,340 --> 00:37:35,180 844 00:37:35,180 --> 00:37:38,590 >> ในรุ่น one-- มีที่เราจะไป 845 00:37:38,590 --> 00:37:43,180 ในรุ่นหนึ่งสังเกตเห็น following-- และไม่ได้การดำเนินงานที่ดีที่สุด 846 00:37:43,180 --> 00:37:44,420 แต่มันก็เป็นครั้งแรกของฉัน 847 00:37:44,420 --> 00:37:47,680 ขอให้สังเกตว่าด้านล่าง รูปแบบที่ผมมีแท็กสคริปต์ 848 00:37:47,680 --> 00:37:49,430 และแท็กสคริปต์หมายความว่า เดี๋ยวก่อนเบราว์เซอร์ที่นี่ 849 00:37:49,430 --> 00:37:52,340 มาพร้อมรหัสในบาง โดยทั่วไป, JavaScript 850 00:37:52,340 --> 00:37:54,420 และตอนนี้สังเกตเห็นสิ่งที่ฉันทำ 851 00:37:54,420 --> 00:37:59,070 ใน line-- ฉันสามารถแทบจะไม่ อ่าน it-- สาย 32 ก็กล่าวว่า 852 00:37:59,070 --> 00:38:01,420 var form-- เพื่อให้ฉัน ตัวแปรที่เรียกว่ารูปแบบ 853 00:38:01,420 --> 00:38:05,049 แล้วได้รับ document.getElementId ของ "การลงทะเบียน." 854 00:38:05,049 --> 00:38:05,590 นี้คืออะไร? 855 00:38:05,590 --> 00:38:07,290 ดีให้ฉันย้อนกลับขึ้นมาที่นี่ 856 00:38:07,290 --> 00:38:11,510 และแจ้งให้ทราบล่วงหน้า ah, ฉันให้องค์ประกอบรูปแบบ ความคิดโดยพลการ แต่พรรณนา 857 00:38:11,510 --> 00:38:13,050 ของการลงทะเบียน 858 00:38:13,050 --> 00:38:16,820 ดังนั้นนี้จะช่วยให้ฉันตัวแปรที่ ช่วยให้ผมที่จะคว้าโหนดนั้น 859 00:38:16,820 --> 00:38:19,580 สี่เหลี่ยมผืนผ้าที่เรียกว่าในรูปแบบต้นไม้ 860 00:38:19,580 --> 00:38:24,460 form.onsubmit หมายถึงเฮ้เบราว์เซอร์ ลงทะเบียนฟังเหตุการณ์ 861 00:38:24,460 --> 00:38:25,470 ในแบบฟอร์มนี้ 862 00:38:25,470 --> 00:38:28,890 ในคำอื่น ๆ เมื่อฟอร์มนี้ ส่งรันโค้ดต่อไปนี้ 863 00:38:28,890 --> 00:38:30,810 มันไม่จำเป็นต้องชื่อเพราะ ทำไมคุณจำเป็นต้องรู้ชื่อหรือไม่ 864 00:38:30,810 --> 00:38:32,880 คุณเพียงแค่ต้องรู้ว่า สิ่งที่ต้องดำเนินการเพราะฉะนั้น 865 00:38:32,880 --> 00:38:35,610 มันเป็นฟังก์ชั่นที่ไม่ระบุชื่อหรือแลมบ์ดา 866 00:38:35,610 --> 00:38:37,632 และฟังก์ชั่นที่เป็น ทุกสายเหล่านี้ที่นี่ 867 00:38:37,632 --> 00:38:40,840 และตอนนี้จะซื่อสัตย์แม้ว่าคุณ อาจจะไม่ได้เคยเขียน JavaScript 868 00:38:40,840 --> 00:38:44,200 ก่อนที่จะเป็นเพียง C และ PHP ตรรกะ 869 00:38:44,200 --> 00:38:51,720 ดังนั้นหาก form.email.value == "" - ดังนั้นหากสนามอีเมลที่ว่างเปล่า 870 00:38:51,720 --> 00:38:54,980 เสียงโห่ร้องที่ผู้ใช้ที่มี "คุณต้อง ให้ที่อยู่อีเมลของคุณ. " 871 00:38:54,980 --> 00:38:58,980 อื่นถ้า form.password.value เป็นตะโกนว่างเปล่าที่ผู้ใช้ 872 00:38:58,980 --> 00:39:00,400 "คุณจะต้องให้รหัสผ่านของคุณ." 873 00:39:00,400 --> 00:39:04,240 >> อื่น ๆ ที่น่าสนใจมีเหตุผล ถ้า form.password.value ไม่ 874 00:39:04,240 --> 00:39:08,630 form.confirmation.value-- เท่ากับ ยืนยันไม่ที่มาจากไหน? 875 00:39:08,630 --> 00:39:09,470 ผมขอย้อนกลับ 876 00:39:09,470 --> 00:39:12,870 ดีฉันเรียกว่าการป้อนข้อมูลนี้ ช่องรหัสผ่านที่นี่ 877 00:39:12,870 --> 00:39:15,180 และฉันเรียกว่าคนนี้ยืนยันที่นี่ 878 00:39:15,180 --> 00:39:17,850 ฉันจะได้เรียกมันว่า รหัสผ่านสองหรือสิ่งอื่นใด 879 00:39:17,850 --> 00:39:20,560 ฉันแค่เหตุผลการตรวจสอบ ว่าทั้งสองจะเหมือนกัน 880 00:39:20,560 --> 00:39:25,760 Else-- ก็จะเปิดออกนี้นาย Boole again-- ค่าบูลีน, กล่องกาเครื่องหมาย 881 00:39:25,760 --> 00:39:29,810 ดังนั้นถ้าผมบอกว่าตกใจ point-- หากไม่ได้ form.agreement.checked, 882 00:39:29,810 --> 00:39:31,820 เสียงโห่ร้องที่ผู้ใช้เป็นอย่างดี 883 00:39:31,820 --> 00:39:34,470 >> ดังนั้นไวยากรณ์คุณจะเห็นนี้ ที่พบบ่อยมากใน JavaScript, 884 00:39:34,470 --> 00:39:35,970 ที่คุณต้องสัญกรณ์นี้ประ 885 00:39:35,970 --> 00:39:37,460 คุณเริ่มต้นด้วยวัตถุที่นี่ 886 00:39:37,460 --> 00:39:41,430 คุณดำน้ำในลึกเพื่อที่จะ สถานที่ให้บริการเช่นรหัสผ่าน 887 00:39:41,430 --> 00:39:43,280 แล้วคุณจะได้รับมูลค่าที่แท้จริงของมัน 888 00:39:43,280 --> 00:39:45,830 และอีกครั้งที่นี่คือการป้อนข้อมูล 889 00:39:45,830 --> 00:39:47,310 นี่คือรหัสผ่านชื่อเป็น 890 00:39:47,310 --> 00:39:50,860 และค่าที่เป็นอะไรก็ตาม มนุษย์ได้จริงในการพิมพ์ 891 00:39:50,860 --> 00:39:53,610 >> ดังนั้นในสิ่งเหล่านี้ กรณีผมกลับเท็จ 892 00:39:53,610 --> 00:39:55,800 แต่ถ้าไม่ผมกลับจริง 893 00:39:55,800 --> 00:39:58,030 และดังนั้นตอนนี้เราเห็น การใช้งานที่น่าสนใจเมื่อ 894 00:39:58,030 --> 00:40:00,620 คุณจะกลับเท็จ หยุดสิ่งที่ผู้ใช้ทำ 895 00:40:00,620 --> 00:40:03,200 และทำให้เขาหรือเธอเลือก อีกครั้งหรือพิมพ์อีกครั้ง 896 00:40:03,200 --> 00:40:05,870 มิฉะนั้นเรากลับจริง 897 00:40:05,870 --> 00:40:08,585 >> และแจ้งให้เราแนะนำหนึ่ง ตัวแปรอื่น ๆ เพียงแค่นี้ 898 00:40:08,585 --> 00:40:13,140 เมล็ดพันธุ์ความเข้าใจดังกล่าว 899 00:40:13,140 --> 00:40:16,850 ทั้งในรุ่นที่ 2 นี้ฟอร์ม 2-- ฉันจะทำมันด้วยคลื่นของมือที่ 900 00:40:16,850 --> 00:40:19,920 นี้คือสำหรับผู้ที่อยากรู้อยากเห็น, รุ่น jQuery, 901 00:40:19,920 --> 00:40:23,330 บรรดาผู้ที่อาจต้องการที่จะ ตะลุยในห้องสมุดเฉพาะที่ 902 00:40:23,330 --> 00:40:25,145 แต่ขอ start-- และคำถามใด ๆ ? 903 00:40:25,145 --> 00:40:29,230 ผมขอหยุดสักครู่เพราะ ที่เป็นไปอย่างรวดเร็วและเป็นจำนวนมาก 904 00:40:29,230 --> 00:40:32,610 >> แต่สิ่งที่ดีที่นี่เป็นที่ทั้งหมด ของรหัสคือสวยมากเหมือนกัน 905 00:40:32,610 --> 00:40:33,985 สิ่งที่ใหม่คือสิ่งที่เป็นพระหรือไม่ 906 00:40:33,985 --> 00:40:35,115 สิ่งเหล่านี้เป็นรูปสี่เหลี่ยม? 907 00:40:35,115 --> 00:40:35,990 อะไรคือโหนดเหล่านี้หรือไม่ 908 00:40:35,990 --> 00:40:37,540 มีอะไรที่ฟังก์ชั่นที่ไม่ระบุชื่อ? 909 00:40:37,540 --> 00:40:38,830 มีอะไรจัดการเหตุการณ์? 910 00:40:38,830 --> 00:40:43,480 แต่โชคดีที่ส่วนใหญ่ที่เป็นเพียง วงกลมเต็มรูปแบบจากการพูด, สัปดาห์ที่ศูนย์ 911 00:40:43,480 --> 00:40:43,980 ทั้งหมดขวา 912 00:40:43,980 --> 00:40:46,070 ดังนั้นสิ่งที่น่าสนใจมากขึ้นเล็กน้อย? 913 00:40:46,070 --> 00:40:49,340 ดีแรกของทั้งหมดให้ฉันไป ไปข้างหน้าและเปิด Google Maps 914 00:40:49,340 --> 00:40:53,360 และคุณจะสังเกตเห็นว่าเป็น ขณะที่ในวันที่สองแยก 915 00:40:53,360 --> 00:40:55,930 สังเกตเห็นสิ่งที่เกิดขึ้นเมื่อ ฉันคลิกเร็วพอ 916 00:40:55,930 --> 00:40:59,720 และการเชื่อมต่อที่ฮาร์วาร์เป็นเช่นนี้ ได้อย่างรวดเร็วว่าคุณไม่ได้แจ้งให้ทราบจริงๆ 917 00:40:59,720 --> 00:41:04,469 แต่สิ่งที่คุณชนิดของการเรียงลำดับของการมองเห็น ถ้าฉันคลิกและลากไปอย่างรวดเร็ว? 918 00:41:04,469 --> 00:41:07,010 บรรดาของคุณดูออนไลน์ ถ้าคุณช้านี้เพื่อความเร็ว 0.5 เท่า, 919 00:41:07,010 --> 00:41:09,640 คุณสามารถมองเห็นที่ดีกว่านี้ 920 00:41:09,640 --> 00:41:13,550 >> สิ่งที่เกิดขึ้นเพียง ก่อนที่ผมจะคลิกและลาก? 921 00:41:13,550 --> 00:41:15,900 ผมขอลอง here-- ให้ฉันทำ อย่างอื่นเช่น 90210 922 00:41:15,900 --> 00:41:17,550 ขอไปอยู่ห่างไกล 923 00:41:17,550 --> 00:41:19,000 นั่นคือได้อย่างรวดเร็วจริงๆเกินไป 924 00:41:19,000 --> 00:41:22,460 วิธีการเกี่ยวกับดิสนีย์เวิลด์? 925 00:41:22,460 --> 00:41:23,190 เราจะไปที่นั่น. 926 00:41:23,190 --> 00:41:23,690 ตกลง. 927 00:41:23,690 --> 00:41:26,030 คุณเห็นอะไรสำหรับแยกที่สองหรือไม่? 928 00:41:26,030 --> 00:41:27,200 เพียงเช่นสี่เหลี่ยมใช่มั้ย? 929 00:41:27,200 --> 00:41:28,930 ตัวยึดสำหรับกระเบื้อง? 930 00:41:28,930 --> 00:41:30,270 >> ดีสิ่งที่เกิดขึ้นที่นี่? 931 00:41:30,270 --> 00:41:35,410 Google แผนที่เป็นตัวอย่างที่ดีของ เทคโนโลยีที่เรียกว่าอาแจ็กซ์ 932 00:41:35,410 --> 00:41:38,510 และนี่คือที่เราจะเริ่มต้นที่จะ ใช้งาน JavaScript ในโดยเฉพาะอย่างยิ่ง 933 00:41:38,510 --> 00:41:39,277 วิธีที่มีเสน่ห์ 934 00:41:39,277 --> 00:41:41,610 ย้อนกลับไปในวันที่มี เว็บไซต์นี้เรียกว่า MapQuest 935 00:41:41,610 --> 00:41:44,120 และฉันควรจะมีการดำเนินการ หน้าจอนี้จากปี 1990, 936 00:41:44,120 --> 00:41:45,820 ซึ่งถ้าคุณต้องการที่จะ มองขึ้นไปที่นี่บนแผนที่ 937 00:41:45,820 --> 00:41:48,590 คุณอย่างแท้จริงจะคลิกลูกศร ขึ้นที่ด้านบนแสดงให้เห็นว่าคุณ 938 00:41:48,590 --> 00:41:49,870 ตารางที่แตกต่างกันของแผนที่ 939 00:41:49,870 --> 00:41:51,790 หากคุณต้องการที่จะเลื่อนไปทางซ้ายคุณ คลิกลูกศรที่แสดงให้เห็นคุณ 940 00:41:51,790 --> 00:41:53,210 ตารางที่แตกต่างกันของแผนที่ 941 00:41:53,210 --> 00:41:54,840 และเว็บไซต์บางส่วนยังคงทำเช่นนี้ในวันนี้ 942 00:41:54,840 --> 00:41:57,820 แต่ถึงแม้จะมีอากาศ MapQuest ที่ดีกว่าเช่น Google Maps 943 00:41:57,820 --> 00:42:01,880 >> แต่สิ่งที่ดีเหล่านี้ วันที่เป็นเว็บไซต์ที่ใช้ AJAX 944 00:42:01,880 --> 00:42:04,510 AJAX-- หรือที่เรียกว่า Asynchronous JavaScript และ XML, 945 00:42:04,510 --> 00:42:08,370 ซึ่งเป็นเพียงวิธีแฟนซีบอกว่า เทคโนโลยีหรือเทคนิคที่ 946 00:42:08,370 --> 00:42:14,200 ช่วยให้เบราว์เซอร์โดยใช้ JavaScript ที่จะทำให้การร้องขอ HTTP เพิ่มเติม 947 00:42:14,200 --> 00:42:16,390 หลังจากหน้าได้รับการโหลด 948 00:42:16,390 --> 00:42:17,479 ดังนั้นสิ่งนี้หมายความว่าอย่างไร? 949 00:42:17,479 --> 00:42:19,270 ดีก็จะเป็นชนิด น่ารำคาญใน Gmail 950 00:42:19,270 --> 00:42:21,103 ถ้าเวลาที่คุณต้องการทุก ที่จะตรวจสอบอีเมลของคุณ 951 00:42:21,103 --> 00:42:24,940 คุณได้ตีตัวอักษรควบคุม R หรือ คำสั่ง R หรือคลิกปุ่มโหลด 952 00:42:24,940 --> 00:42:26,580 และหน้ายี้ทั้งจะโหลด 953 00:42:26,580 --> 00:42:26,800 ใช่มั้ย? 954 00:42:26,800 --> 00:42:28,460 มันจะกระพริบสีขาว อาจจะเป็นครั้งที่สอง 955 00:42:28,460 --> 00:42:30,043 คุณจะเห็นแถบความคืบหน้าโง่ 956 00:42:30,043 --> 00:42:33,170 และเพียงเพื่อดูว่าคุณมีใหม่ อีเมล, หน้าเว็บทั้งหมดและ URL ของ 957 00:42:33,170 --> 00:42:34,580 คุณกำลังที่จะต้องโหลด 958 00:42:34,580 --> 00:42:35,960 >> แต่นั่นไม่ใช่สิ่งที่เกิดขึ้นใน Gmail 959 00:42:35,960 --> 00:42:36,459 ใช่มั้ย? 960 00:42:36,459 --> 00:42:40,300 เมื่อคุณได้รับอีเมลใหม่ใน Gmail สิ่งที่เกิดขึ้นบนหน้าจอ? 961 00:42:40,300 --> 00:42:41,480 มันก็จะแสดงขึ้นใช่มั้ย? 962 00:42:41,480 --> 00:42:44,280 มันก็น่าอัศจรรย์ปรากฏ เป็นแถวใหม่ในตาราง 963 00:42:44,280 --> 00:42:47,030 ที่จริงที่เกี่ยวข้องกับการ จำนวนเงินที่ดีของความซับซ้อน 964 00:42:47,030 --> 00:42:51,892 ในความเป็นจริงถ้าคุณคิดเกี่ยวกับต้นไม้นี้ ซึ่งแม้ว่าจะเป็นหนึ่งที่ง่ายที่นี่ 965 00:42:51,892 --> 00:42:54,100 Gmail-- และฉันต้องมอง รหัสที่จะ sure-- 966 00:42:54,100 --> 00:42:58,710 อาจจะมีตาราง HTM​​L หรืออาจจะ รายการเรียงลำดับที่จะแสดงผล 967 00:42:58,710 --> 00:43:01,060 แต่ละกล่องจดหมายของคุณอีเมลเป็น 968 00:43:01,060 --> 00:43:04,050 >> ดังนั้นถ้าคุณคิดนี้มี เป็นต้นไม้ในหน่วยความจำเมื่อคุณเป็น 969 00:43:04,050 --> 00:43:09,050 ใช้ Gmail ที่มีลักษณะชนิดของการจัดเรียงของ เช่นนี้เมื่อ Google ตระหนักโอ 970 00:43:09,050 --> 00:43:12,770 คุณมีอีเมลใหม่ก็ไม่ได้ ต้องการที่จะสร้างทั้งต้นไม้ 971 00:43:12,770 --> 00:43:16,430 แต่ก็ต้องการที่จะหาโหนดใน ต้นไม้ที่แสดงถึงกล่องจดหมายของคุณ 972 00:43:16,430 --> 00:43:18,580 และเพียงแค่แทรกโหนดใหม่ 973 00:43:18,580 --> 00:43:24,640 >> ดังนั้นคล้ายกับ pset ห้าที่คุณ มีการแทรกโหนดลงในตารางแฮช 974 00:43:24,640 --> 00:43:28,410 ในทำนองเดียวกันไม่ Google ผ่าน รหัส JavaScript ที่จะได้เขียน 975 00:43:28,410 --> 00:43:31,890 สำรวจต้นไม้นี้คิดออกว่า เป็นส่วนหนึ่งที่กล่องจดหมายของหน้าต่าง 976 00:43:31,890 --> 00:43:33,440 แล้วแทรกแถวใหม่ 977 00:43:33,440 --> 00:43:37,460 และแถวใหม่เพียงอย่างใดอย่างหนึ่ง หรือมากกว่าโหนดใหม่ในต้นไม้ 978 00:43:37,460 --> 00:43:41,340 >> และเพื่อให้เป็น AJAX เทคนิคนี้ ที่ช่วยให้การตรงนั้น 979 00:43:41,340 --> 00:43:44,440 เมื่อคุณได้เข้าเยี่ยมชม URL ที่ บ้านานมันเป็นอย่างไรก็ตาม 980 00:43:44,440 --> 00:43:46,472 และเมื่อหน้ามี รับการโหลดคุณยังสามารถ 981 00:43:46,472 --> 00:43:48,430 คว้าข้อมูลเพิ่มเติมจาก internet-- ไม่ว่าจะเป็น 982 00:43:48,430 --> 00:43:52,460 อีเมลหรือกระเบื้อง map-- ได้ คว้ามันอยู่เบื้องหลัง 983 00:43:52,460 --> 00:43:55,290 แล้วใส่ลงในหน้าเว็บ เพื่อให้มนุษย์ไม่ได้จริงๆ 984 00:43:55,290 --> 00:43:56,910 ต้องรอให้มัน 985 00:43:56,910 --> 00:43:58,980 >> Facebook Messenger ที่ทำงานในลักษณะเดียวกัน 986 00:43:58,980 --> 00:44:01,562 หมายเลขใด ๆ ของ websites-- อื่น ๆ โอ้จริงแม้นี้ 987 00:44:01,562 --> 00:44:04,270 ผมหมายถึงนี้ตรงไปตรงมาชนิดของ คุณลักษณะที่น่ารำคาญวันนี้ 988 00:44:04,270 --> 00:44:07,500 ถ้าฉันเริ่มค้นหา cats-- นี้ เป็นชนิดของประสบการณ์การใช้งานที่น่ากลัว 989 00:44:07,500 --> 00:44:08,990 มันก็เริ่มหาฉัน 990 00:44:08,990 --> 00:44:10,050 ดีสิ่งที่ทำ? 991 00:44:10,050 --> 00:44:12,920 URL ที่ไม่ได้เปลี่ยนแปลงจริงๆ ตั้งแต่ผมเริ่มพิมพ์ 992 00:44:12,920 --> 00:44:17,330 แต่สิ่งที่เกิดขึ้นทั่ว wire-- ตกลงอืมที่น่าสนใจ 993 00:44:17,330 --> 00:44:20,470 สิ่งที่เกิดขึ้นทั่ว ลวดที่นี่เพิ่งได้รับประหลาด 994 00:44:20,470 --> 00:44:21,090 >> ตกลง. 995 00:44:21,090 --> 00:44:24,670 เพื่อให้ฉันไปข้างหน้าและตรวจสอบ องค์ประกอบและไปที่แท็บเครือข่าย 996 00:44:24,670 --> 00:44:27,040 และพยายามที่จะทำให้เรื่องนี้ ทางเทคนิคและไม่เกี่ยวกับแมว 997 00:44:27,040 --> 00:44:32,595 ขณะที่ผมพิมพ์ตัวอักษรแมว and-- สิ่งที่เกิดขึ้น 998 00:44:32,595 --> 00:44:37,710 per-- ฉันไม่ได้ไปคลิกที่ 999 00:44:37,710 --> 00:44:38,210 ทั้งหมดขวา 1000 00:44:38,210 --> 00:44:44,280 ดังนั้นลงที่นี่สิ่งที่เกิดขึ้นทุก ทุกครั้งที่ผมพิมพ์ตัวอักษรที่เห็นได้ชัด? 1001 00:44:44,280 --> 00:44:45,000 เช่นเดียวกับระดับต่ำ 1002 00:44:45,000 --> 00:44:47,860 สิ่งที่เกิดขึ้นกับแต่ละคน ตัวละครที่ฉันพิมพ์ที่แป้นพิมพ์ของฉันได้อย่างไร 1003 00:44:47,860 --> 00:44:48,359 ใช่? 1004 00:44:48,359 --> 00:44:50,950 ผู้ชม: [ไม่ได้ยิน] 1005 00:44:50,950 --> 00:44:52,340 >> DAVID ลัน: แน่นอน 1006 00:44:52,340 --> 00:44:55,600 แต่ละตัวละครเหล่านั้น ไปของ Google ในช่วงเวลาหนึ่ง 1007 00:44:55,600 --> 00:44:58,490 พวกเขาจะสร้างสตริง บนเซิร์ฟเวอร์ของตนที่แสดงถึง 1008 00:44:58,490 --> 00:44:59,936 ทุกอย่างที่ผมเคยพิมพ์ในป่านนี้ 1009 00:44:59,936 --> 00:45:01,810 และทุกครั้งที่ผมพิมพ์ ตัวละครอื่นที่พวกเขา 1010 00:45:01,810 --> 00:45:04,530 ใช้ซอสลับของพวกเขาของ ขั้นตอนวิธีการค้นหาและคิดออก 1011 00:45:04,530 --> 00:45:07,370 เขาไม่ได้หมายความว่าแมวหน้านี้ หรือแมวหน้านี้หรือชอบ? 1012 00:45:07,370 --> 00:45:10,620 ดังนั้นในความรู้สึกบางอย่างก็ให้ฉันด้วย ประสบการณ์ที่ดีในการที่ฉันทำไม่ได้ 1013 00:45:10,620 --> 00:45:11,860 ต้องดำเนินการความคิดของฉัน 1014 00:45:11,860 --> 00:45:14,440 และแน่นอนว่ามันเป็นประโยชน์ สิ่งเติมข้อความอัตโนมัติทั่วไป 1015 00:45:14,440 --> 00:45:17,690 หากขั้นตอนวิธีการของพวกเขามีดีพอ และหากการค้นหาของฉันที่ชัดเจนพอ 1016 00:45:17,690 --> 00:45:19,300 ฉันจะได้ไม่ต้องพิมพ์คำทั้ง 1017 00:45:19,300 --> 00:45:22,110 พวกเขากำลังจะบอกฉันว่ามัน เป็นฉันจริงค้นหา 1018 00:45:22,110 --> 00:45:25,940 ดังนั้นสิ่งที่ Google เรียกทันที ค้นหาเพียงแค่ใช้ AJAX, 1019 00:45:25,940 --> 00:45:30,820 ใช้รหัสที่ช่วยให้พวกเขาที่จะขอ เนื้อหาเพิ่มเติมผ่านทางเว็บเบราเซอร์ 1020 00:45:30,820 --> 00:45:34,026 อยู่เบื้องหลังการใช้นี้ ภาษาใหม่, JavaScript 1021 00:45:34,026 --> 00:45:35,400 ดังนั้นเราจึงมีสองสามนาทีที่เหลือ 1022 00:45:35,400 --> 00:45:37,710 และแจ้งให้เราเรียกเพื่อนของฉัน โคลตันขึ้นไปบนเวที 1023 00:45:37,710 --> 00:45:40,090 เพราะมันดูเหมือน ครั้งสุดท้ายที่สนุกสนานโดยเฉพาะอย่างยิ่ง 1024 00:45:40,090 --> 00:45:42,290 ที่จะแนะนำเทคโนโลยี ที่บางส่วนของคุณ 1025 00:45:42,290 --> 00:45:44,769 ได้แสดงความสนใจ สำหรับโครงการในขั้นสุดท้าย 1026 00:45:44,769 --> 00:45:47,310 เราคิดว่ามันจะเป็นเรื่องสนุกที่จะนำ อาสาสมัครถึงแม้ว่าในวันนี้ 1027 00:45:47,310 --> 00:45:50,074 แสดงนอกจากสระ ที่ช่วยให้ you-- ใช่ 1028 00:45:50,074 --> 00:45:50,990 ผมเห็นมือแรก 1029 00:45:50,990 --> 00:45:52,900 มาขึ้น 1030 00:45:52,900 --> 00:45:53,560 ทำได้ดีมาก 1031 00:45:53,560 --> 00:45:55,035 งานที่ดี 1032 00:45:55,035 --> 00:45:57,410 ฉันจะไปโครงการนี​​้ หน้าจอในเวลาเพียงสักครู่ 1033 00:45:57,410 --> 00:45:58,150 ชื่ออะไรของคุณสำหรับทุกคนหรือไม่ 1034 00:45:58,150 --> 00:45:59,180 >> EFA: ฉัน Efa 1035 00:45:59,180 --> 00:45:59,410 >> DAVID ลัน: Etha? 1036 00:45:59,410 --> 00:45:59,785 >> EFA: Efa 1037 00:45:59,785 --> 00:46:00,160 >> DAVID ลัน: Efa? 1038 00:46:00,160 --> 00:46:00,730 >> EFA: ใช่ 1039 00:46:00,730 --> 00:46:01,250 >> DAVID ลัน: ยินดีที่ได้พบคุณ 1040 00:46:01,250 --> 00:46:01,600 ทั้งหมดขวา 1041 00:46:01,600 --> 00:46:02,590 ให้ฉันได้รับการพร้อมนี้ 1042 00:46:02,590 --> 00:46:04,423 มาไปที่ กลางที่มีการตัดสินใจที่นี่ 1043 00:46:04,423 --> 00:46:07,050 สิ่งที่มีการตัดสินใจในมือของเขา ในวันนี้คือการควบคุมระยะไกล 1044 00:46:07,050 --> 00:46:10,440 ดังนั้นแทนที่จะเพียงแค่ยืนใน โลกสามมิติที่มองไปรอบ ๆ 1045 00:46:10,440 --> 00:46:14,080 ขณะที่การตัดสินใจได้ในขณะนี้สามารถ Efa จริงเดินไปรอบ ๆ โดยจะขึ้น 1046 00:46:14,080 --> 00:46:16,689 ลงซ้ายและขวาเหมือน นินเทนหรือตัวควบคุม Xbox 1047 00:46:16,689 --> 00:46:18,230 EFA: ฉันจะตกจากเวที 1048 00:46:18,230 --> 00:46:20,500 DAVID ลัน: ฉันจะ ยืนประมาณกว่าที่นี่ 1049 00:46:20,500 --> 00:46:21,991 แต่นั่นคือความเสี่ยง 1050 00:46:21,991 --> 00:46:22,490 ตกลง. 1051 00:46:22,490 --> 00:46:25,690 เพื่อไปข้างหน้าและทำให้ผู้ที่อยู่ใน 1052 00:46:25,690 --> 00:46:29,315 ให้ฉันไปข้างหน้าและ สลับไปยังหน้าจอที่นี่ 1053 00:46:29,315 --> 00:46:30,670 ผมขอหรี่ไฟ 1054 00:46:30,670 --> 00:46:32,780 และการตัดสินใจที่ให้ฉัน มายืนข้างคุณ 1055 00:46:32,780 --> 00:46:35,520 >> คุณต้องการที่จะอธิบายที่นี่ กับไมค์สิ่งที่เรากำลังทำอะไรอยู่? 1056 00:46:35,520 --> 00:46:36,380 นี่คุณไป 1057 00:46:36,380 --> 00:46:37,280 >> COLTON: Sure 1058 00:46:37,280 --> 00:46:39,980 ดังนั้นตอนนี้เรา โหลดขึ้นกลมที่ 1059 00:46:39,980 --> 00:46:43,070 ผมคิดว่า operating-- ไม่ทำงาน ระบบ แต่โปรแกรมหลักที่ 1060 00:46:43,070 --> 00:46:46,630 คุณสามารถเข้าถึงเกมทั้งหมดและ ปพลิเคชันที่อยู่ในห้องสมุดของคุณ 1061 00:46:46,630 --> 00:46:50,060 ดังนั้นตอนนี้มันควรจะพูดว่า แตะทัชแพดที่จะเริ่มต้น 1062 00:46:50,060 --> 00:46:53,430 ทัชแพดจะเป็นใน ด้านขวาของหูฟัง 1063 00:46:53,430 --> 00:46:54,569 ดังนั้นไปข้างหน้าและ tap-- 1064 00:46:54,569 --> 00:46:55,110 EFA: โอ้คน 1065 00:46:55,110 --> 00:46:56,443 DAVID ลัน: ใช่มีคุณไป 1066 00:46:56,443 --> 00:47:00,340 1067 00:47:00,340 --> 00:47:02,460 คุณภาพ Efa จะเห็น ที่มีคุณภาพสูงมาก 1068 00:47:02,460 --> 00:47:03,831 นี่เป็นเพียง Wi-Fi ที่นี่ 1069 00:47:03,831 --> 00:47:05,580 COLTON: ดังนั้นสิ่งที่คุณกำลัง จะต้องการที่จะทำ 1070 00:47:05,580 --> 00:47:08,350 คือมองไปทางด้านบน ขวาของหน้าจอ 1071 00:47:08,350 --> 00:47:10,420 อ๋อเกมที่ด้านบนขวามาก 1072 00:47:10,420 --> 00:47:14,780 และจากนั้นเมื่อคุณเลือก มันแตะทัชแพดอีกครั้ง 1073 00:47:14,780 --> 00:47:17,010 ผมคิดว่ามัน Dreadhalls 1074 00:47:17,010 --> 00:47:20,820 และแล้วที่นี่จะ a-- นี่ให้ ฉันถือแก้วของคุณสำหรับคุณ 1075 00:47:20,820 --> 00:47:24,420 1076 00:47:24,420 --> 00:47:25,790 >> ดังนั้นผมจึงเพียงแค่ให้เขาควบคุม 1077 00:47:25,790 --> 00:47:28,886 ดังนั้นตอนนี้เขาสามารถควบคุมเกม 1078 00:47:28,886 --> 00:47:30,510 เขาสามารถย้ายไปรอบ ๆ และสิ่งที่ชอบ 1079 00:47:30,510 --> 00:47:31,968 ดังนั้นไปข้างหน้าและมองขึ้นไปด้านบน 1080 00:47:31,968 --> 00:47:33,640 คุณควรจะเห็นเกมใหม่ 1081 00:47:33,640 --> 00:47:36,310 เพื่อไปข้างหน้าและคุณสามารถทำเช่นนั้น 1082 00:47:36,310 --> 00:47:39,320 ตอนนี้คุณควรจะสามารถที่จะควบคุม ตัวเองด้วยการควบคุม 1083 00:47:39,320 --> 00:47:43,860 เช่นกันโดยเร็ว เกมโหลดได้ที่นี่ 1084 00:47:43,860 --> 00:47:46,356 นี้อาจจะมีนิด ๆ หน่อย ๆ ที่น่ากลัว 1085 00:47:46,356 --> 00:47:47,300 >> EFA: ตอนนี้คุณบอกฉัน 1086 00:47:47,300 --> 00:47:50,132 ตกลง. 1087 00:47:50,132 --> 00:47:51,080 >> COLTON สิทธิทั้งหมด 1088 00:47:51,080 --> 00:47:52,650 ดังนั้นยืนยันว่าคุณสามารถย้ายไปรอบ ๆ 1089 00:47:52,650 --> 00:47:52,750 ตกลง. 1090 00:47:52,750 --> 00:47:53,583 คุณสามารถย้ายไปรอบ ๆ 1091 00:47:53,583 --> 00:47:54,300 ที่สมบูรณ์แบบ 1092 00:47:54,300 --> 00:47:56,470 ดังนั้นถ้าคุณมองลงมาคุณมีแผนที่ 1093 00:47:56,470 --> 00:47:58,170 แผนที่แสดงให้คุณเห็นว่าคุณอยู่ที่ไหน 1094 00:47:58,170 --> 00:47:59,720 คุณสามารถดูรอบ ๆ ห้อง 1095 00:47:59,720 --> 00:48:01,440 คุณสมบูรณ์สามารถหันไปรอบ ๆ 1096 00:48:01,440 --> 00:48:02,128 ใช่ว่า 1097 00:48:02,128 --> 00:48:02,627 หันไปรอบ ๆ 1098 00:48:02,627 --> 00:48:05,370 1099 00:48:05,370 --> 00:48:07,125 >> ดังนั้นมองไปทางซ้ายมือ 1100 00:48:07,125 --> 00:48:09,875 ผมคิดว่ามีบางสิ่งบางอย่างที่คุณสามารถ รับกับบาร์เรลในห้องพัก 1101 00:48:09,875 --> 00:48:11,709 >> EFA: ฉันจะได้รับได้อย่างไร แผนที่ออกจากทาง? 1102 00:48:11,709 --> 00:48:12,375 COLTON: เงยหน้าขึ้นมอง 1103 00:48:12,375 --> 00:48:12,980 เพียงแค่มองขึ้น 1104 00:48:12,980 --> 00:48:13,480 ทั้งหมดขวา 1105 00:48:13,480 --> 00:48:13,765 มีคุณไป 1106 00:48:13,765 --> 00:48:15,181 ตอนนี้ไปข้างหน้าและเพียงแค่หันไปรอบ ๆ 1107 00:48:15,181 --> 00:48:21,460 1108 00:48:21,460 --> 00:48:24,620 เพื่อให้มองไกลออกไปทางด้านซ้ายมือ 1109 00:48:24,620 --> 00:48:25,530 ให้ย้ายไปทางซ้าย 1110 00:48:25,530 --> 00:48:26,960 ให้มองไปทางซ้าย 1111 00:48:26,960 --> 00:48:27,541 ทำต่อไป. 1112 00:48:27,541 --> 00:48:28,040 ใช่ 1113 00:48:28,040 --> 00:48:28,720 >> EFA: โอ้วิธีการที่ 1114 00:48:28,720 --> 00:48:29,261 >> COLTON: ใช่ 1115 00:48:29,261 --> 00:48:30,999 เดินไปทางมันกับตัวควบคุม 1116 00:48:30,999 --> 00:48:31,540 มีคุณไป 1117 00:48:31,540 --> 00:48:32,790 ตอนนี้มันควรจะพูดว่าหยิบมันขึ้นมา 1118 00:48:32,790 --> 00:48:33,360 มีคุณไป 1119 00:48:33,360 --> 00:48:34,290 หยิบมันขึ้นมา. 1120 00:48:34,290 --> 00:48:35,550 ทั้งหมดขวา 1121 00:48:35,550 --> 00:48:38,286 ตอนนี้ขอได้รับออกไปจากห้องนี้ 1122 00:48:38,286 --> 00:48:42,209 ไปข้างหน้าและเดินไปที่ประตูว่า 1123 00:48:42,209 --> 00:48:45,000 ดังนั้นคุณจะ hold-- มันบอกว่า ปุ่มค้างไว้เพื่อบังคับให้เปิด 1124 00:48:45,000 --> 00:48:46,333 ดังนั้นไปข้างหน้าและปุ่มค้างไว้ 1125 00:48:46,333 --> 00:48:48,250 อ๋อบังคับให้มันเปิด 1126 00:48:48,250 --> 00:48:48,750 ทั้งหมดขวา 1127 00:48:48,750 --> 00:48:49,410 งานที่ดี 1128 00:48:49,410 --> 00:48:50,826 ตอนนี้เรากำลังเดินออกไปจากห้อง 1129 00:48:50,826 --> 00:48:56,970 1130 00:48:56,970 --> 00:49:01,366 ดังนั้นฉันจะออกจากส่วนที่เหลือขึ้น ให้คุณและดูสิ่งที่คุณหา 1131 00:49:01,366 --> 00:49:02,865 EFA: ฉันจะไม่อยู่ในห้องมืด 1132 00:49:02,865 --> 00:49:07,315 1133 00:49:07,315 --> 00:49:07,815 โอ้รอ 1134 00:49:07,815 --> 00:49:09,314 ตอนนี้ผมต้องไปลงห้องโถงที่มืด? 1135 00:49:09,314 --> 00:49:10,785 ตกลงฉันจะกลับมา [ไม่ได้ยิน] 1136 00:49:10,785 --> 00:49:15,520 1137 00:49:15,520 --> 00:49:16,270 COLTON สิทธิทั้งหมด 1138 00:49:16,270 --> 00:49:17,560 บางรายการอื่น ๆ อีกมากมายที่จะรับ 1139 00:49:17,560 --> 00:49:19,370 ดูเหมือนว่าเหรียญบาง 1140 00:49:19,370 --> 00:49:22,242 นั่นคือเลือกล็อค 1141 00:49:22,242 --> 00:49:24,200 ดังนั้นถ้าคุณพบว่ามีล็อค ประตูคุณสามารถใช้ที่ 1142 00:49:24,200 --> 00:49:27,755 1143 00:49:27,755 --> 00:49:28,380 คุณกลัวไหม? 1144 00:49:28,380 --> 00:49:29,371 >> EFA: ยังไม่ได้ 1145 00:49:29,371 --> 00:49:29,871 COLTON: OK 1146 00:49:29,871 --> 00:49:34,850 1147 00:49:34,850 --> 00:49:35,497 >> Pretend-- ใช่ 1148 00:49:35,497 --> 00:49:37,330 เพียงแค่หลอกคุณ จริงยืนอยู่ที่นั่น 1149 00:49:37,330 --> 00:49:39,580 และถ้าคุณเปิด around-- คุณได้มีการรับใช้มัน 1150 00:49:39,580 --> 00:49:40,752 แต่มันก็ทำให้รู้สึก 1151 00:49:40,752 --> 00:49:43,960 DAVID ลัน: Efa และในขณะที่ยังคง เล่นเนื่องจากเราสามารถทำเช่นนี้ทุกวัน 1152 00:49:43,960 --> 00:49:45,381 เราทุกคนสามารถปลายเท้าออกจากที่นี่ 1153 00:49:45,381 --> 00:49:48,130 แต่เราจะมีสองคู่อื่น ๆ ถ้าคุณต้องการที่จะเกิดขึ้นและเล่น 1154 00:49:48,130 --> 00:49:49,980 มิฉะนั้นเราจะเห็น คุณต่อไปในวันพุธที่ 1155 00:49:49,980 --> 00:49:51,354 ขอขอบคุณอาสาสมัครของเราวันนี้ 1156 00:49:51,354 --> 00:49:52,101 [APPLAUSE] 1157 00:49:52,101 --> 00:49:54,506 1158 00:49:54,506 --> 00:49:57,392 >> [ดนตรี - "รูปแบบไฟล์"] 1159 00:49:57,392 --> 00:49:58,222 1160 00:49:58,222 --> 00:50:00,180 ลำโพง 1: ดีฉัน วางใหม่ PL ยึดกับ 1161 00:50:00,180 --> 00:50:01,800 ฉันเพิ่งเปลี่ยน OLPF-- 1162 00:50:01,800 --> 00:50:03,980 >> ลำโพง 2: ดังนั้นสิ่งที่ ว่าคุณกำลังทำอะไรอยู่? 1163 00:50:03,980 --> 00:50:07,063 >> ลำโพง 1: ดีแต่ละคน these-- ที่นี่ฉันจะแสดงให้คุณเป็นหนึ่งในที่นี่ 1164 00:50:07,063 --> 00:50:08,690 คุณสามารถดูได้ที่นี่ 1165 00:50:08,690 --> 00:50:09,510 >> ลำโพงที่ 3: ฉันคิดว่าฉันดีกับเหล่านี้ 1166 00:50:09,510 --> 00:50:09,933 คุณต้องการบางมากขึ้น? 1167 00:50:09,933 --> 00:50:11,325 >> ลำโพงที่ 4: ไม่มีฉันดี [ไม่ได้ยิน] 1168 00:50:11,325 --> 00:50:12,200 >> ลำโพงที่ 3: ไม่มี [ไม่ได้ยิน] 1169 00:50:12,200 --> 00:50:12,700 มีบางส่วน 1170 00:50:12,700 --> 00:50:21,165 1171 00:50:21,165 --> 00:50:22,290 ลำโพง 1: สีที่แตกต่างกัน 1172 00:50:22,290 --> 00:50:22,890 ลำโพง 2: ตกลง 1173 00:50:22,890 --> 00:50:26,690 ลำโพง 1: ดังนั้นในท้ายที่สุดสิ่งที่มัน ไม่มันปรับสี of--