1 00:00:00,000 --> 00:00:03,840 >> [მუსიკის დაკვრა] 2 00:00:03,840 --> 00:00:05,770 3 00:00:05,770 --> 00:00:08,690 >> DOUG LLOYD: ასე რომ, ახლა ჩვენ ძველი დადებითი ვებ პროგრამირების, არა? 4 00:00:08,690 --> 00:00:12,140 და ჩვენ დაფარული რამდენიმე ენების ინდივიდუალური videos. 5 00:00:12,140 --> 00:00:14,690 და ახლა მოდით კიდევ ერთი გავაკეთოთ, JavaScript. 6 00:00:14,690 --> 00:00:17,370 >> პირველი კარგი ამბავია, JavaScript არის თანამედროვე პროგრამირების 7 00:00:17,370 --> 00:00:21,410 ენის ჰგავს PHP, რომლის სინტაქსი მომდინარეობს C, 8 00:00:21,410 --> 00:00:22,830 ასე რომ, კარგი ადგილი უნდა დაიწყოს. 9 00:00:22,830 --> 00:00:25,880 ეს დაახლოებით ისეთივე ძველია, როგორც PHP, ისევე, რომელმაც უკვე გარშემო დაახლოებით 20 წლის. 10 00:00:25,880 --> 00:00:28,600 იგი გამოიგონეს გარშემო ამავე დროს, როგორც PHP. 11 00:00:28,600 --> 00:00:32,240 და JavaScript არის საკმაოდ ფუნდამენტური მომხმარებლის, გამოცდილება 12 00:00:32,240 --> 00:00:32,740 ვებგვერდი. 13 00:00:32,740 --> 00:00:34,448 ფაქტობრივად, არ არსებობს სამ ენაზე, რომ მე 14 00:00:34,448 --> 00:00:38,480 ვიტყოდი, ერთგვარი შეადგინოს მომხმარებლის, გამოცდილება ინტერაქციაში 15 00:00:38,480 --> 00:00:42,650 ერთად ნახვა, html, CSS და JavaScript. 16 00:00:42,650 --> 00:00:46,030 ასე რომ, ახლა მოდით ვისაუბროთ ცოტა რამ JavaScript. 17 00:00:46,030 --> 00:00:50,301 >> ცუდი ამბავი, თუმცა, JavaScript არის რომ ის ადგენს ბევრი წესებს თავისთვის, 18 00:00:50,301 --> 00:00:51,300 და მაშინ იგი არღვევს მათ. 19 00:00:51,300 --> 00:00:54,010 და JavaScript შეიძლება რეალურად იყოს სახის გამოწვევას უნდა ვისწავლოთ, 20 00:00:54,010 --> 00:00:57,000 იმიტომ, რომ ეს განსხვავებით C და PHP, რომლებიც ძალიან სტრუქტურა 21 00:00:57,000 --> 00:01:00,270 და აქვს ძალიან მკაცრი წესები როგორ რამ შეიძლება მუშაობა. 22 00:01:00,270 --> 00:01:03,690 JavaScript აქვს სახის საქართველოს მიღებული იმდენად მოქნილი 23 00:01:03,690 --> 00:01:06,650 რომ იქნებ რამ არ აპირებს მუშაობა გზა ჩვენ ველით, რომ ისინი, 24 00:01:06,650 --> 00:01:09,830 და იქნებ ჩვენ ნამდვილად ვერ სწავლობენ ჩვენი პირველი პროგრამირების ენა 25 00:01:09,830 --> 00:01:10,769 როგორც JavaScript. 26 00:01:10,769 --> 00:01:12,810 ასე რომ, შესაძლოა იმიტომ, რომ ეს არ არის თავად ნებისმიერ წესებს, 27 00:01:12,810 --> 00:01:15,754 და ეს ნამდვილად არ აღასრულოს კარგი კოდირების ჩვევები. 28 00:01:15,754 --> 00:01:18,170 მაგრამ ახლა ჩვენ იმედი გვაქვს, განვითარებული რამდენიმე კარგი კოდირების ჩვევები, 29 00:01:18,170 --> 00:01:21,470 ასე რომ, ჩვენ შეგვიძლია დავიწყოთ foray შევიდა JavaScript ცოტა. 30 00:01:21,470 --> 00:01:25,750 >> დაწერა JavaScript, მსგავსი გახსნა მდე C ფაილი dot C გაფართოება 31 00:01:25,750 --> 00:01:29,770 ან PHP ფაილი dot PHP გაფართოება, ყველა ჩვენ უნდა გავაკეთოთ არის გახსნას ფაილი 32 00:01:29,770 --> 00:01:31,764 ერთად dot js ფაილის გაფართოება. 33 00:01:31,764 --> 00:01:34,430 ჩვენ არ გვჭირდება რაიმე განსაკუთრებული delimiters, როგორც ჩვენ გავაკეთეთ PHP. 34 00:01:34,430 --> 00:01:36,750 ეს ერთგვარი კუთხე bracket კითხვის ნიშნის PHP 35 00:01:36,750 --> 00:01:40,300 რომ ჩვენ გამოიყენება, რომ, სხვათა შორის, ჩვენ ვეუბნებით ჩვენს ბრაუზერი, რომელიც რაც გვაქვს არის 36 00:01:40,300 --> 00:01:43,502 JavaScript არის მათ შორის ეს HTML tag, 37 00:01:43,502 --> 00:01:46,210 და ვნახავთ ცოტა შესახებ როგორ უნდა გავაკეთოთ, რომ რაღაც მომენტში. 38 00:01:46,210 --> 00:01:48,210 >> სხვა რამ, რაც JavaScript სხვადასხვა, 39 00:01:48,210 --> 00:01:50,580 თუმცა, არის ის, რომ მუშაობს კლიენტის მხარეს. 40 00:01:50,580 --> 00:01:53,430 ასე რომ გავიხსენოთ ერთად PHP, რომ ჩვენ ვერასოდეს ვერ ვხედავ 41 00:01:53,430 --> 00:01:57,041 რომ PHP ხაზი გაუსვა ნახვა. 42 00:01:57,041 --> 00:01:59,040 თუ ჩვენ ოდესმე დაათვალიერა გვერდი წყარო, ჩვენ გვინდა მხოლოდ 43 00:01:59,040 --> 00:02:02,830 ნახოთ html, რომელიც იყო გამომუშავებული, რომ PHP. 44 00:02:02,830 --> 00:02:04,900 მაგრამ JavaScript გადის კლიენტის მხარეს. 45 00:02:04,900 --> 00:02:06,710 თქვენი JavaScript ეშვება თქვენს კომპიუტერში. 46 00:02:06,710 --> 00:02:09,050 ამიტომაც არის, რომ შეგიძლიათ გააკეთოთ რამ მინდა რჩეულებში ბლოკატორი. 47 00:02:09,050 --> 00:02:09,550 მარჯვენა? 48 00:02:09,550 --> 00:02:12,704 რეკლამა ბლოკირება ჩვეულებრივ კეთდება მკვლელობაში ყველა JavaScript 49 00:02:12,704 --> 00:02:14,370 რომ არის გაშვებული კონკრეტულ ნახვა. 50 00:02:14,370 --> 00:02:19,000 და იმიტომ, რომ უნდა აწარმოებს თქვენს კომპიუტერს კლიენტის მხარეს, 51 00:02:19,000 --> 00:02:21,910 შეგიძლიათ უბრალოდ შეწყვიტოს JavaScript გაშვებული მთლიანად. 52 00:02:21,910 --> 00:02:27,030 ეს იმას ნიშნავს, რომ, როდესაც თქვენ გამოიყენოს ნახვა, რომელიც მოიცავს JavaScript, 53 00:02:27,030 --> 00:02:32,450 თქვენ უნდა გააგზავნოთ JavaScript წყარო კოდი, როგორც ნაწილი თქვენი http პასუხი 54 00:02:32,450 --> 00:02:34,159 კლიენტს, როდესაც ისინი მოითხოვოს იგი. 55 00:02:34,159 --> 00:02:35,950 ასე რომ, თქვენ შეიძლება არ გსურთ გამოიყენოთ JavaScript 56 00:02:35,950 --> 00:02:38,395 უნდა გავაკეთოთ მართლაც მგრძნობიარე რამ მოსწონს ავლით ინფორმაცია 57 00:02:38,395 --> 00:02:41,020 შესახებ მომხმარებლების პაროლები უკან და მეოთხე, იმიტომ, რომ ისინი რეალურად 58 00:02:41,020 --> 00:02:45,610 აპირებს მიიღოს ყველა კოდის, არა მხოლოდ html რომელიც გენერირდება, 59 00:02:45,610 --> 00:02:49,030 როგორიცაა იქნება იმ შემთხვევაში, ვთქვათ PHP. 60 00:02:49,030 --> 00:02:51,620 >> ასე რომ, ჩვენ მოიცავს JavaScript ჩვენს html იწყება? 61 00:02:51,620 --> 00:02:54,520 ისე, მსგავსი CSS, ფაქტობრივად, არის ერთგვარი როგორ გავაკეთოთ ეს აქ. 62 00:02:54,520 --> 00:02:56,190 ცენტრთან ჩვენ სტილი tags. 63 00:02:56,190 --> 00:03:00,760 და შიგნით იმ სტილის tags, ჩვენ შეგვიძლია განვსაზღვროთ CSS სტილის ფურცელი. 64 00:03:00,760 --> 00:03:03,450 ანალოგიურად ერთად JavaScript შეგვიძლია გახსენით script tags, 65 00:03:03,450 --> 00:03:06,660 სხვა html tag ჩვენ არ ვისაუბროთ ჩვენს html ვიდეო, 66 00:03:06,660 --> 00:03:09,720 და წერენ JavaScript in შორის იმ სკრიპტი tags. 67 00:03:09,720 --> 00:03:13,960 გარდა ამისა, მიუხედავად იმისა, როგორიცაა CSS, ჩვენ შეძლებენ გარეთ CSS ფაილი 68 00:03:13,960 --> 00:03:15,900 და გაიყვანოს მათ ჩვენი პროგრამა, რომ გზა. 69 00:03:15,900 --> 00:03:18,280 ცენტრთან ჩვენ შეგვიძლია ასევე, მაპატიეთ, ერთად JavaScript 70 00:03:18,280 --> 00:03:23,240 ჩვენ ასევე შეგიძლიათ მიუთითოთ წყაროს ატრიბუტი script tag 71 00:03:23,240 --> 00:03:25,720 უკავშირებენ JavaScript ცალ-ცალკე, ასე რომ თქვენ არ 72 00:03:25,720 --> 00:03:27,680 უნდა დაწერა შორის script tags, ჩვენ 73 00:03:27,680 --> 00:03:29,600 შეგიძლიათ ლინკი ის გამოყენებით რომ script tag ასევე. 74 00:03:29,600 --> 00:03:33,230 და ისევე, როგორც იმ შემთხვევაში, CSS, სადაც ჩვენ რეკომენდირებულია, რომ ეს იყო ალბათ 75 00:03:33,230 --> 00:03:36,090 თქვენი საუკეთესო ინტერესი დაწერა თქვენი CSS ცალკე ფაილი შემთხვევაში 76 00:03:36,090 --> 00:03:38,500 თქვენ უნდა შეცვალოს იგი, ანალოგიურად, ჩვენ გირჩევთ 77 00:03:38,500 --> 00:03:40,720 რომ წერთ თქვენი JavaScript ცალკე ფაილი 78 00:03:40,720 --> 00:03:45,460 და გამოიყენოს script tags წყარო მიეწერა გვაკავშირებს თქვენი JavaScript 79 00:03:45,460 --> 00:03:49,520 თქვენი html, თქვენს ვებ გვერდზე. 80 00:03:49,520 --> 00:03:52,610 >> ასე რომ, JavaScript ცვლადები, ჩვენ დავიწყოთ საუბარი სინტაქსი აქ. 81 00:03:52,610 --> 00:03:53,600 და ჩვენ გავლა ამ სახის სწრაფად, 82 00:03:53,600 --> 00:03:56,640 იმიტომ, რომ ჩვენ გავაკეთეთ ეს PHP, ასე რომ ეს უნდა იყოს საკმაოდ ნაცნობი. 83 00:03:56,640 --> 00:03:59,490 ასე რომ ცვლადების JavaScript არიან ძალიან ჰგავს PHP ცვლადები. 84 00:03:59,490 --> 00:04:03,270 იქ არ არის ტიპის specifier და როდესაც თქვენ გააცნობს ცვლადი, 85 00:04:03,270 --> 00:04:05,070 თქვენ პრეფიქსი იგი var სიტყვით. 86 00:04:05,070 --> 00:04:07,750 In PHP ჩვენ რაღაც როგორც ეს, დოლარის ნიშანი x. 87 00:04:07,750 --> 00:04:09,950 სწორედ ასე მითითებული ცვლადი, მაგრამ არა, ჩვენ 88 00:04:09,950 --> 00:04:12,060 არ უხსენებია ტიპის ცვლადი ყველა. 89 00:04:12,060 --> 00:04:15,124 ჩვენ ვიტყოდი რაღაც დოლარის ნიშანი x უდრის 44 PHP. 90 00:04:15,124 --> 00:04:17,040 თუ ვაკეთებდით იგივე JavaScript, 91 00:04:17,040 --> 00:04:19,589 ჩვენ ვიტყოდი var x უდრის 44. 92 00:04:19,589 --> 00:04:22,780 ასე რომ var არის ერთგვარი ჩვენი გზა შემოღების ცვლადი. 93 00:04:22,780 --> 00:04:26,850 ეს არის ის, ალბათ ცოტა უფრო ინტუიტიური მეტი, ვიდრე უბრალოდ დოლარის ნიშანი ცვლადი. 94 00:04:26,850 --> 00:04:29,080 >> ერთხელ, მას შემდეგ, რაც არ არსებობს მონაცემთა ტიპები, ჩვენ შეგვიძლია ამის გაკეთება 95 00:04:29,080 --> 00:04:34,490 ნებისმიერი მონაცემები ტიპის, სიმები, არაფერი იქნებოდა var. 96 00:04:34,490 --> 00:04:37,260 პირობით, რომ ყველა ჩვენი ძველი მეგობრები C და PHP 97 00:04:37,260 --> 00:04:41,640 ჯერ კიდევ არის შესაძლებელი, ამიტომ ჩვენ გვაქვს იმ შემთხვევაში, თუ სხვაგან, თუ სხვაგან, შეცვლა და კითხვა 98 00:04:41,640 --> 00:04:42,240 mark წერტილი. 99 00:04:42,240 --> 00:04:45,890 შეცვლა დარჩენილი როგორც მოქნილი, როგორც იყო PHP, მაგრამ ყველა ეს თქვენ 100 00:04:45,890 --> 00:04:46,930 იცნობს ახლა. 101 00:04:46,930 --> 00:04:49,900 და მსგავსად მარყუჟების ძველი დამატება, ხოლო, 102 00:04:49,900 --> 00:04:52,700 ამის გაკეთება, ხოლო, და ჯერ კიდევ ჩვენს ხელთ არსებული. 103 00:04:52,700 --> 00:04:55,880 ასე რომ, უკვე ვიცით, რომ ბევრი ძირითადი JavaScript ერთგვარი საფუძვლები 104 00:04:55,880 --> 00:05:01,800 მხოლოდ ძალით, რომელსაც საკმაოდ მწირი ცოდნის ახლა C და PHP. 105 00:05:01,800 --> 00:05:03,670 >> რაც შეეხება ფუნქციებს JavaScript? 106 00:05:03,670 --> 00:05:08,199 ისე, მსგავსი PHP ყოველი ფუნქცია გაეცნო ფუნქცია სიტყვით. 107 00:05:08,199 --> 00:05:10,740 თქვენ ამბობთ, ფუნქცია, და მაშინ დაიწყოს, რათა განისაზღვროს თქვენი ფუნქცია. 108 00:05:10,740 --> 00:05:12,531 რა არის ცოტა განსხვავებული შესახებ JavaScript, 109 00:05:12,531 --> 00:05:15,700 მიუხედავად იმისა, რომ ეს არის უნარი აქვს რასაც ანონიმური ფუნქცია. 110 00:05:15,700 --> 00:05:18,880 ასე რომ, შეგიძლიათ განსაზღვრავს ფუნქცია რომ არ აქვს სახელი. 111 00:05:18,880 --> 00:05:21,222 ეს არის რაღაც ჩვენ ნამდვილად არ მინახავს ადრე. 112 00:05:21,222 --> 00:05:23,430 ჩვენ ნამდვილად გამოიყენოთ კონცეფცია ანონიმური ფუნქცია 113 00:05:23,430 --> 00:05:27,880 ცოტა მოგვიანებით ამ ვიდეო, იმიტომ, რომ იგი ყველაფერს 114 00:05:27,880 --> 00:05:31,530 რათა უფრო გრძნობა კონტექსტში როდესაც ჩვენ ვხედავთ კონკრეტულ სიტუაციაში 115 00:05:31,530 --> 00:05:33,120 რომ მე crafted აქ. 116 00:05:33,120 --> 00:05:35,710 მაგრამ მოდით უბრალოდ შეხედეთ რა მარტივი JavaScript 117 00:05:35,710 --> 00:05:37,850 ფუნქცია შეიძლება გამოიყურებოდეს. 118 00:05:37,850 --> 00:05:40,610 >> ასე, რომ წავიდნენ წინ და გახსნეს ჩემი CS50 IDE 119 00:05:40,610 --> 00:05:43,690 და მე უკვე აწარმოებს Apache დაიწყოს ჩემს სერვერზე გაშვებული. 120 00:05:43,690 --> 00:05:46,800 და მე ამ ფაილის გახსნა სახელწოდებით Home.html. 121 00:05:46,800 --> 00:05:48,330 და მე მიუახლოვდით ცოტა აქ. 122 00:05:48,330 --> 00:05:52,090 და ძირითადად, თქვენ შეგიძლიათ ნახოთ Home.html მხოლოდ bunch ღილაკებით. 123 00:05:52,090 --> 00:05:55,291 და მე აცხადებდნენ ზედა აქ რომ ეს არის JavaScript განყოფილებაში 124 00:05:55,291 --> 00:05:55,790 მასალები. 125 00:05:55,790 --> 00:05:59,490 ასე რომ, აქ არის რამოდენიმე ღილაკი აქ, მაგრამ რა ამ ღილაკებიდან რეალურად ამის გაკეთება? 126 00:05:59,490 --> 00:06:03,662 >> ისე, ჩვენ უხელმძღვანელებს გადასცა ჩემი IED, და მე არ Home.html გახსნა აქ. 127 00:06:03,662 --> 00:06:05,620 თავიდანვე, აქ, სადაც მე აკავშირებს 128 00:06:05,620 --> 00:06:07,500 ყველა ჩემი JavaScript წყარო. 129 00:06:07,500 --> 00:06:08,000 მარჯვენა? 130 00:06:08,000 --> 00:06:12,440 ასე რომ, მე anonymous.js, clock.js, მე გამოყენებით წყარო ატრიბუტი 131 00:06:12,440 --> 00:06:14,440 სკრიპტი tag უკავშირებენ ფაილი. 132 00:06:14,440 --> 00:06:18,660 ასე რომ, მე არ დაწერილი ნებისმიერი JavaScript პირდაპირ ამ ფაილი, 133 00:06:18,660 --> 00:06:21,790 მაგრამ მე გამოყვანილია ყველა JavaScript მე დაწერილი ცალკე. 134 00:06:21,790 --> 00:06:24,540 და თუ ჩვენ გადახვევა ქვემოთ აქ, ამ ყველამ უნდა გამოიყურებოდეს გარკვეულწილად ნაცნობი 135 00:06:24,540 --> 00:06:27,090 ცოტა ახალი სინტაქსის. 136 00:06:27,090 --> 00:06:32,655 ჩვენ აქ header ტეგი ფუნქციები და შემდეგ ღილაკს. 137 00:06:32,655 --> 00:06:35,530 მაქვს input, რომ ტიპის ღილაკს, და როგორც ჩანს, როდესაც მე დააჭირეთ მას, 138 00:06:35,530 --> 00:06:38,130 მე ვაპირებ ვინმეს ფუნქციონირებს alert თარიღი. 139 00:06:38,130 --> 00:06:41,792 და ეს არის, თუ როგორ შეგვიძლია ერთგვარი აღრევას ცოტა JavaScript და HTML. 140 00:06:41,792 --> 00:06:44,500 ისინი რეალურად ითამაშოს საკმაოდ ლამაზად ერთად, და ა.შ. როგორც ჩანს, როდესაც 141 00:06:44,500 --> 00:06:48,730 მე დააჭირეთ ამ ღილაკს, მე ვაპირებ მოვუწოდებთ ზოგიერთი ფუნქცია alert თარიღი. 142 00:06:48,730 --> 00:06:53,660 და ანალოგიურად მაქვს განსაზღვრული ქცევის ყველა სხვა ღილაკები, რომ 143 00:06:53,660 --> 00:06:56,440 ვართ, რომ home.html გვერდი, რომელიც ჩვენ გავაგრძელებთ დაბრუნების 144 00:06:56,440 --> 00:06:59,172 დროს რა თქმა უნდა, ეს ვიდეო. 145 00:06:59,172 --> 00:07:00,880 მაგრამ მოდით დავუბრუნდეთ აქ და შევხედოთ 146 00:07:00,880 --> 00:07:03,850 განთავსებულია clock.js, რომელიც არის JavaScript ფაილი, რომელიც მე 147 00:07:03,850 --> 00:07:07,370 წერდა, რომ აქვს ეს პირველი ფუნქცია ჩვენ ვაპირებთ შევხედოთ. 148 00:07:07,370 --> 00:07:11,630 როგორც ხედავთ, დაიწყება ჩემი JavaScript ფუნქციონირებას, რომლის სიტყვით ფუნქცია, 149 00:07:11,630 --> 00:07:14,560 და მე მოცემული ამ ერთი სახელი, ეს ე.წ. alert თარიღი. 150 00:07:14,560 --> 00:07:18,710 შიგნით არსებობს, მე აშკარად შექმნა ახალი ადგილობრივი ცვლადში მიმდინარე თარიღი. 151 00:07:18,710 --> 00:07:21,500 და მე ვაპირებ დაავალოს თანაბარი ახალი თარიღი. 152 00:07:21,500 --> 00:07:24,430 და ჩვენ ვერ მოხვდება ბევრი დეტალურად, თუ რა თარიღი, 153 00:07:24,430 --> 00:07:27,060 და მართლაც JavaScript ასე დიდი, რომ ჩვენ არ შეიძლება 154 00:07:27,060 --> 00:07:28,330 მოიცავს ყველაფერს ერთი ვიდეო. 155 00:07:28,330 --> 00:07:32,220 მაგრამ საკმარისია ითქვას, რომ ეს ხდება დაბრუნდეს თვალი მონაცემები ნივთი, რომელიც 156 00:07:32,220 --> 00:07:35,470 encapsulates მიმდინარე დრო და თარიღი. 157 00:07:35,470 --> 00:07:39,100 მე შენახვის, რომ ცვლადი, რომ მე ვარ აშკარად აპირებს პირთა მიმდინარე თარიღი. 158 00:07:39,100 --> 00:07:41,300 >> ისე, რას alert მიმდინარე თარიღი ჰგავს? 159 00:07:41,300 --> 00:07:46,460 მოდით შევხედოთ ფაილი თავად უკან მეტი ბრაუზერის ფანჯარაში. 160 00:07:46,460 --> 00:07:49,551 ასე რომ კიდევ ერთხელ, ეს არის ღილაკს, რომელიც მე მიბმული, ეს დაასახელა ფუნქცია. 161 00:07:49,551 --> 00:07:51,800 და მე დაწკაპეთ იგი არსებობს და ვეძებოთ ის, რაც გააკეთა, ეს alerted. 162 00:07:51,800 --> 00:07:56,140 ეს გამოჩნდა ამ სახის ყუთი ვეუბნებოდი ჩემთვის, რომ მიმდინარე დრო არის, როგორც ჩანს, 163 00:07:56,140 --> 00:07:59,370 ეს 4 ნოემბერს 10:43:43 დილით. 164 00:07:59,370 --> 00:08:02,345 და თუ მე დააწკაპუნეთ კიდევ ერთხელ, ახლა ეს არის რამდენიმე წამის შემდეგ, არა? 165 00:08:02,345 --> 00:08:03,720 ასე რომ, ყველა ამ ფუნქცია აქვს. 166 00:08:03,720 --> 00:08:07,670 როდესაც მე დააჭირეთ ამ ღილაკს, pops up მზადყოფნაში გაგზავნა ჩემთვის. 167 00:08:07,670 --> 00:08:13,806 168 00:08:13,806 --> 00:08:15,690 ასე რომ, ეს ნამდვილად არ არის ძალიან ბევრი ფუნქციები 169 00:08:15,690 --> 00:08:19,110 რომ ის განსხვავდება PHP, უბრალოდ ცოტა ახალი სინტაქსის 170 00:08:19,110 --> 00:08:22,500 რომ გააჩნია მუშაობის JavaScript. 171 00:08:22,500 --> 00:08:24,650 >> მასივები JavaScript არიან საკმაოდ მარტივია. 172 00:08:24,650 --> 00:08:27,200 განაცხადოს მასივი, თქვენ იყენებთ კვადრატულ ფრჩხილებში სინტაქსი 173 00:08:27,200 --> 00:08:30,090 რომ ჩვენ იცნობს PHP. 174 00:08:30,090 --> 00:08:33,432 და მსგავსი PHP, ჩვენ ასევე შეგიძლიათ ავურიოთ მონაცემთა ტიპები. 175 00:08:33,432 --> 00:08:35,140 ასე რომ, ეს მასივი, როგორც ეს კოლექტორები რომ 176 00:08:35,140 --> 00:08:36,960 იყოს სავსებით ლეგიტიმური JavaScript. 177 00:08:36,960 --> 00:08:42,500 ერთი, რომ ყველა რიცხვებით, და ერთი, რომ აირია სხვადასხვა მონაცემთა ტიპები. 178 00:08:42,500 --> 00:08:45,020 >> რა არის რაღაც ძალიან განსხვავებული JavaScript, თუმცა? 179 00:08:45,020 --> 00:08:47,020 ეს არის ცნება ობიექტი. 180 00:08:47,020 --> 00:08:50,240 ასე რომ, ალბათ გაგიგია ობიექტზე ორიენტირებული პროგრამირების. 181 00:08:50,240 --> 00:08:53,370 ჩვენ არ ბევრი CS50, მაგრამ ჩვენ ყველაფერს გავაკეთებთ ცოტა ეს 182 00:08:53,370 --> 00:08:55,670 აქ კონტექსტში JavaScript. 183 00:08:55,670 --> 00:08:59,100 ახლა JavaScript აქვს უნარი მოიქცეს, როგორც ობიექტზე ორიენტირებული პროგრამირების 184 00:08:59,100 --> 00:09:02,615 ენა, მაგრამ ეს არ არის თავად მხოლოდ ობიექტზე ორიენტირებული 185 00:09:02,615 --> 00:09:03,490 პროგრამირების ენაზე. 186 00:09:03,490 --> 00:09:05,281 და ეს კიდევ ერთხელ მოდის უკან რატომ ვთქვი, 187 00:09:05,281 --> 00:09:10,610 შეიძლება ძალიან რთული უნდა ვისწავლოთ JavaScript როგორც თქვენი პირველი პროგრამირების 188 00:09:10,610 --> 00:09:13,890 ენის, რადგან ეს არ არის ნამდვილად შეესაბამება კონკრეტული პარადიგმა. 189 00:09:13,890 --> 00:09:16,430 >> C მეორეს მხრივ არის ფუნქციური პროგრამირების ენაზე. 190 00:09:16,430 --> 00:09:22,270 თუ გვინდა, რომ, ფუნქციები ერთგვარი დიდი ბოსი კაცი, უფლება? 191 00:09:22,270 --> 00:09:24,410 ისინი უკარნახოს რა ხდება ყველაფერი. 192 00:09:24,410 --> 00:09:26,600 ჩვენ გვინდა, რომ ცვლადები, ჩვენ მოვუწოდებთ ფუნქციები. 193 00:09:26,600 --> 00:09:28,220 ჩვენ გავაკეთოთ რამ ფუნქციები. 194 00:09:28,220 --> 00:09:31,250 ობიექტები ნაცვლად, ამ ობიექტზე ორიენტირებული ენის, 195 00:09:31,250 --> 00:09:35,937 ობიექტების ერთგვარი გახდეს ვარსკვლავი და ფუნქციები გახდეს ერთგვარი საშუალო. 196 00:09:35,937 --> 00:09:38,270 მაგრამ რა არის ობიექტი, რა ამ ცნება ობიექტი? 197 00:09:38,270 --> 00:09:40,880 ისე, თუ ეს ხელს უწყობს, ვფიქრობ, ამის შესახებ პირველი სახის 198 00:09:40,880 --> 00:09:44,540 მოსწონს C სტრუქტურის ან struct რომ ჩვენ ვისწავლეთ ადრე. 199 00:09:44,540 --> 00:09:47,430 In C, სტრუქტურა შეიცავს რიგ სფეროებში, 200 00:09:47,430 --> 00:09:51,174 და იქნებ ჩვენ ახლა შეიძლება დაიწყოს დარეკეთ ამ სფეროში თვისებები. 201 00:09:51,174 --> 00:09:53,590 მაგრამ თვისებები არასოდეს ნამდვილად დავდგეთ საკუთარი, არა? 202 00:09:53,590 --> 00:09:56,410 თუ მე განსაზღვრავს სტრუქტურა მანქანის ისევე როგორც ეს შემდეგ ორი 203 00:09:56,410 --> 00:10:00,750 სფეროში ან თვისებები, ერთი მთელი წლის მანქანა 204 00:10:00,750 --> 00:10:04,290 და კიდევ 10 პერსონაჟი სიმებიანი ამისთვის მოდელის მანქანა, 205 00:10:04,290 --> 00:10:07,150 შემიძლია ვთქვა, რაღაც მსგავსი, შემიძლია განვაცხადო, ახალი ცვლადი 206 00:10:07,150 --> 00:10:10,080 ტიპის struct მანქანის ჰერბი. 207 00:10:10,080 --> 00:10:13,730 და მაშინ შემიძლია ვთქვა რაღაც ისევე როგორც herbie.year უდრის 1,963, 208 00:10:13,730 --> 00:10:15,850 და herbie.model ტოლია Beetle. 209 00:10:15,850 --> 00:10:17,000 ეს არის ის, OK. 210 00:10:17,000 --> 00:10:19,680 მე გამოყენებით სფეროებში კონტექსტში სტრუქტურა, 211 00:10:19,680 --> 00:10:22,290 მაგრამ მე ვერასოდეს მხოლოდ ამბობენ, რომ რაღაც მოსწონს ეს. 212 00:10:22,290 --> 00:10:22,790 მარჯვენა? 213 00:10:22,790 --> 00:10:26,836 მე ვერ გამოიყენებს სფეროში სახელი დამოუკიდებელი სტრუქტურა. 214 00:10:26,836 --> 00:10:28,210 ეს ერთგვარი ფუნდამენტური რამ. 215 00:10:28,210 --> 00:10:32,990 >> ასე სფეროებში მიმდინარეობს ფუნდამენტური C სტრუქტურები 216 00:10:32,990 --> 00:10:39,050 ძალიან ჰგავს თვისებები მიმდინარეობს ფუნდამენტური JavaScript ობიექტები. 217 00:10:39,050 --> 00:10:42,080 მაგრამ ის, რაც მათ განსაკუთრებით საინტერესო 218 00:10:42,080 --> 00:10:46,230 არის, რომ ობიექტი შეიძლება ასევე რა უწოდებენ მეთოდები, რომლებიც რეალურად არიან 219 00:10:46,230 --> 00:10:50,730 უბრალოდ ლამაზი სიტყვა, ფუნქციები, რომელიც თანდაყოლილი ობიექტი, ასევე. 220 00:10:50,730 --> 00:10:55,340 ასე რომ, ეს არის ფუნქცია, რომელიც შეიძლება იყოს მხოლოდ მოუწოდა კონტექსტში ობიექტი. 221 00:10:55,340 --> 00:10:59,200 მხოლოდ ობიექტი, რომელიც განსაზღვრულია ამ ფუნქციის შიგნით მისი, 222 00:10:59,200 --> 00:11:02,020 თუ თქვენ ფიქრი struct, ფუნქცია 223 00:11:02,020 --> 00:11:05,720 განისაზღვრება შიგნით იმ განსაზღვრის curly აფრთხილებს სტრუქტურა. 224 00:11:05,720 --> 00:11:07,980 ასე რომ, ეს მხოლოდ იმას ნიშნავს, რომ რაღაც სტრუქტურა. 225 00:11:07,980 --> 00:11:10,960 და ეს არის ერთგვარი, რასაც ჩვენ ვაკეთებთ აქ ობიექტები და მეთოდები. 226 00:11:10,960 --> 00:11:13,580 ეს ძირითადად, როგორც ჩვენ განსაზღვრის ფუნქცია, რომელიც 227 00:11:13,580 --> 00:11:16,670 მხოლოდ აზრი წლის კონკრეტული ობიექტი, და ამიტომ ჩვენ 228 00:11:16,670 --> 00:11:19,440 მოვუწოდებთ, რომ მეთოდი ობიექტი. 229 00:11:19,440 --> 00:11:23,180 და ჩვენ ვერ მოვუწოდებთ, რომ ფუნქცია დამოუკიდებელი ობიექტი, 230 00:11:23,180 --> 00:11:29,260 ისევე, როგორც ჩვენ არ შეგვიძლია ვთქვათ, წელს ან მოდელი დამოუკიდებელი struct in C. 231 00:11:29,260 --> 00:11:32,300 >> ასე რომ, ფუნქციური პროგრამირების პარადიგმების ასე გამოიყურება. 232 00:11:32,300 --> 00:11:35,450 ფუნქცია და მაშინ, როდესაც თქვენ გაივლის ობიექტის როგორც პარამეტრი. 233 00:11:35,450 --> 00:11:38,650 იმ ობიექტზე ორიენტირებული პროგრამირების ენებზე, ამ სახის იღებს 234 00:11:38,650 --> 00:11:43,464 სავალი, და ჩვენ ვიფიქროთ ის მოსწონთ, object.function. 235 00:11:43,464 --> 00:11:45,380 ასე რომ, ეს ერთგვარი რომ dot ოპერატორი ერთხელ, რაც გულისხმობს 236 00:11:45,380 --> 00:11:49,540 ის, რომ გარკვეული ქონება ან ატრიბუტი ობიექტი თავად. 237 00:11:49,540 --> 00:11:53,240 მაგრამ ეს არის ის, რაც ობიექტი ორიენტირებული პროგრამირების ენა 238 00:11:53,240 --> 00:11:57,150 შეიძლება გავაკეთოთ, რათა ფუნქცია მოვუწოდებთ მეთოდი, კიდევ ერთხელ, რომელიც 239 00:11:57,150 --> 00:12:00,260 მხოლოდ სპეციალური სიტყვა ფუნქცია რომ არის თანდაყოლილი ობიექტი. 240 00:12:00,260 --> 00:12:03,440 ეს არის რა, რომ სინტაქსი შეიძლება გამოიყურებოდეს. 241 00:12:03,440 --> 00:12:09,360 ასე რომ, ჩვენ დავიწყებთ, რომ ზოგიერთი ამ კონტექსტში JavaScript. 242 00:12:09,360 --> 00:12:12,470 >> თქვენ ასევე შეგიძლიათ ვიფიქროთ ობიექტი ერთგვარი მოსწონს ასოციაციურ მასივში, 243 00:12:12,470 --> 00:12:14,160 რომელიც ჩვენ იცნობს PHP. 244 00:12:14,160 --> 00:12:17,720 დამახსოვრება ასოციაციურ მასივში საშუალებას ჩვენთვის აქვს გასაღები ღირებულება წყვილი, ნაცვლად 245 00:12:17,720 --> 00:12:23,040 მქონე ინდექსები 0, ერთი, ორი, სამი, და ასე შემდეგ, როგორც ჩვენ გამოიყენება ეხლა C 246 00:12:23,040 --> 00:12:23,940 მასივები. 247 00:12:23,940 --> 00:12:27,472 ასოციაციური მასივების შეგიძლიათ რუკა სიტყვები, როგორიცაა PHP ვიდეო, 248 00:12:27,472 --> 00:12:29,180 ჩვენ ვსაუბრობთ ტოპინგები pizzas. 249 00:12:29,180 --> 00:12:31,180 ასე რომ, ჩვენ გვქონდა მასივი მოუწოდა pizzas და ჩვენ 250 00:12:31,180 --> 00:12:36,670 ჰქონდა ყველი იყო გასაღები და $ 8.99 იყო ღირებულება და შემდეგ pepperoni იყო გასაღები, 251 00:12:36,670 --> 00:12:39,190 $ 9.99 იყო მნიშვნელობა, და ასე შემდეგ. 252 00:12:39,190 --> 00:12:43,300 ასე რომ, ჩვენ შეგვიძლია ასევე ვიფიქროთ წინააღმდეგი სახის მსგავსი ასოციაციურ 253 00:12:43,300 --> 00:12:43,840 მასივი. 254 00:12:43,840 --> 00:12:47,020 ასე რომ, ეს სინტაქსი აქ რომ შექმნათ ახალი ობიექტი 255 00:12:47,020 --> 00:12:50,950 მოუწოდა ჰერბი ორი თვისებები შიგნით მას. 256 00:12:50,950 --> 00:12:57,310 წელი, რომელიც ენიჭება ღირებულება 1963 და მოდელი, რომელიც ენიჭება სიმებიანი 257 00:12:57,310 --> 00:12:58,140 Beetle. 258 00:12:58,140 --> 00:13:01,770 >> და შეამჩნია, რომ მე გამოყენებით ერთჯერადი შეთავაზებები JavaScript. 259 00:13:01,770 --> 00:13:05,570 თქვენ შეგიძლიათ გამოიყენოთ ერთი ან ორმაგი შეთავაზებები როდესაც ვსაუბრობთ სიმები. 260 00:13:05,570 --> 00:13:07,772 ეს მხოლოდ პირობითად იმ შემთხვევაში, რომ საუკეთესო ჯერ 261 00:13:07,772 --> 00:13:10,230 როდესაც თქვენ წერა JavaScript, უბრალოდ გამოიყენოთ ერთჯერადი შეთავაზებები. 262 00:13:10,230 --> 00:13:15,050 მაგრამ მე ვერ ორმაგ ბრჭყალებში აქ, და რომ იქნება ჯარიმა, ასევე. 263 00:13:15,050 --> 00:13:17,470 >> ასე მახსოვს, თუ როგორ PHP გვქონდა ეს ცნება 264 00:13:17,470 --> 00:13:22,730 ერთი თითოეული loop, რომელიც საშუალებას მოგვცემს iterate მეტი ყველა გასაღები ღირებულება 265 00:13:22,730 --> 00:13:25,270 წყვილი ასოციაციურ მასივი, იმიტომ, რომ ჩვენ 266 00:13:25,270 --> 00:13:29,050 არ აქვს ეს უნარი iterate მეშვეობით 0, ერთი, ორი, სამი, ოთხი, 267 00:13:29,050 --> 00:13:30,710 და ასე შემდეგ? 268 00:13:30,710 --> 00:13:35,010 JavaScript რაღაც ძალიან ჰგავს, მაგრამ ეს არ არის ე.წ. თითოეული მარყუჟის, 269 00:13:35,010 --> 00:13:38,960 ეს ე.წ. წელს მარყუჟების. 270 00:13:38,960 --> 00:13:42,890 ასე რომ, თუ მე ვუთხარი, რომ ჩემთვის, როგორც ეს, var გასაღები ობიექტი, 271 00:13:42,890 --> 00:13:48,670 ეს ერთგვარი მსგავსია ამბობდა თითოეული რაღაც, როგორც რაღაც. 272 00:13:48,670 --> 00:13:53,850 მაგრამ ყველა მე ვაკეთებ აქ iterating ყველა გასაღებები ჩემი ობიექტი. 273 00:13:53,850 --> 00:13:56,070 და შიგნით curly braces არსებობს, მე 274 00:13:56,070 --> 00:14:03,410 გამოყენება ობიექტი კვადრატულ ფრჩხილებში გასაღები ეხება ღირებულება რომ გასაღები ადგილმდებარეობა. 275 00:14:03,410 --> 00:14:05,400 >> გარდა ამისა, არსებობს კიდევ ერთი მიდგომა. 276 00:14:05,400 --> 00:14:10,880 თუ უბრალოდ მხოლოდ აინტერესებს ღირებულებები, შემიძლია ვთქვა, რომ გასაღები ობიექტი, 277 00:14:10,880 --> 00:14:12,360 და მხოლოდ გამოიყენოთ გასაღები შიგნით. 278 00:14:12,360 --> 00:14:17,240 ასე var გასაღები ობიექტი, მაქვს გამოიყენოს ობიექტი კვადრატულ ფრჩხილებში 279 00:14:17,240 --> 00:14:19,340 გასაღები შიგნით loop. 280 00:14:19,340 --> 00:14:24,580 იყიდება var გასაღები ობიექტი, შემიძლია უბრალოდ გამოიყენოთ გასაღები შიგნით მარყუჟის, 281 00:14:24,580 --> 00:14:29,040 იმიტომ, რომ მე მხოლოდ კონკრეტულად ვსაუბრობთ ღირებულებები არსებობს. 282 00:14:29,040 --> 00:14:32,630 >> მოდით იქნებ მიიღოს დავაკვირდებით განსხვავება 283 00:14:32,630 --> 00:14:35,670 უბრალოდ სწრაფად გასწავლით განსხვავება შორის ოთხი 284 00:14:35,670 --> 00:14:40,730 და ამისთვის ძალიან კონკრეტული მასივი, რომელიც ჩვენ გვაქვს აქ, week მასივი. 285 00:14:40,730 --> 00:14:43,616 ასე რომ, მე უნდა იპოვოს ახალი მასივი რომ მე სავსე შვიდი სიმები, 286 00:14:43,616 --> 00:14:46,240 ორშაბათს, სამშაბათს, ოთხშაბათს, ხუთშაბათი, პარასკევი, შაბათი, კვირა. 287 00:14:46,240 --> 00:14:50,530 და მე მინდა ახლა iterate ამ გზით მასივი, 288 00:14:50,530 --> 00:14:53,090 დაბეჭდვისას გარკვეული ინფორმაცია. 289 00:14:53,090 --> 00:14:58,780 თუ მე ამ loop ამობეჭდოთ ინფორმაციით, 290 00:14:58,780 --> 00:15:00,710 რას ფიქრობთ, მე ვაპირებ, რომ მიიღოთ? 291 00:15:00,710 --> 00:15:01,710 ისე, მოდით შევხედოთ. 292 00:15:01,710 --> 00:15:05,300 და სანამ ჩვენ ნახტომი მეტი ჩემი ბრაუზერის ფანჯარაში, 293 00:15:05,300 --> 00:15:08,090 უბრალოდ ვიცი, რომ console.log არის ერთგვარი ერთი 294 00:15:08,090 --> 00:15:10,630 გზა აკეთებს ბეჭდვითი F JavaScript. 295 00:15:10,630 --> 00:15:12,040 მაგრამ რა არის კონსოლი? 296 00:15:12,040 --> 00:15:14,940 ისე, რომ ის, რასაც ჩვენ ვაპირებთ წასვლა შევხედოთ ახლა. 297 00:15:14,940 --> 00:15:16,850 >> OK, ასე რომ, ჩვენ უკან აქ ჩემი ბრაუზერის ფანჯარაში, 298 00:15:16,850 --> 00:15:19,410 და მე ვაპირებ გახსნა ჩემი დეველოპერი ინსტრუმენტები. 299 00:15:19,410 --> 00:15:22,290 ისევ, მე უბრალოდ დარტყმის F12 გახსნა up დეველოპერი ინსტრუმენტები. 300 00:15:22,290 --> 00:15:25,670 და შენიშნავს, რომ აქ დაბრუნება მე არჩეული კონსოლი. 301 00:15:25,670 --> 00:15:28,480 ასე რომ, ეს არის ცნება დეველოპერი კონსოლი, 302 00:15:28,480 --> 00:15:30,500 და ეს საშუალებას მოგვცემს ბეჭდვა ინფორმაცია out, 303 00:15:30,500 --> 00:15:33,000 ერთგვარი მოსწონს ტერმინალი, მაგრამ როგორც დაინახავთ ცოტა მოგვიანებით, 304 00:15:33,000 --> 00:15:37,720 ჩვენ შეგვიძლია ასევე ჩაწერეთ ინფორმაცია ურთიერთქმედება ჩვენს ვებ-გვერდზე. 305 00:15:37,720 --> 00:15:42,320 მე ვაპირებ, რომ მიუახლოვდით ცოტა აქ, და ვაპირებ ახლა დააწკაპუნეთ წელს გამოცდა. 306 00:15:42,320 --> 00:15:45,230 და ოთხი Test-- მე არ ვარ კარგად გაჩვენებთ კოდი ახლავე, 307 00:15:45,230 --> 00:15:47,479 მაგრამ თქვენ მიიღებთ, თუ თქვენ ჩამოტვირთვა კოდის რომ 308 00:15:47,479 --> 00:15:50,380 დაკავშირებულია ამ ვიდეოში არის, რომ ამ loop 309 00:15:50,380 --> 00:15:52,610 რომ ჩვენ ვნახეთ მხოლოდ მეორე წინ on the slide. 310 00:15:52,610 --> 00:15:54,810 >> ასე რომ, მე კარგად დაჭერით, რომ ღილაკს, და აქ, 311 00:15:54,810 --> 00:15:58,440 აქ არის ის, რაც აქვს ნაბეჭდი გარეთ კონსოლი, 0, ერთი, ორი, სამი, ოთხი, ხუთი, 312 00:15:58,440 --> 00:15:58,940 ექვსი. 313 00:15:58,940 --> 00:16:02,490 მე არ ამობეჭდოთ ინფორმაცია შიგნით იმ მასივი ადგილას, 314 00:16:02,490 --> 00:16:05,180 იმიტომ, რომ მე ამ loop. 315 00:16:05,180 --> 00:16:10,670 და შიგნით ორგანო მარყუჟის, მე მხოლოდ დაბეჭდილი გასაღები წინააღმდეგი არ არის გასაღები. 316 00:16:10,670 --> 00:16:18,600 მაგრამ თუ მე ახლა გარკვევა ჩემი კონსოლი, და მე გადახვიდეთ for ტესტი, და ოთხი ტესტი 317 00:16:18,600 --> 00:16:22,500 მე ვიტყვი, გამოიყენოთ მარყუჟის ნაცვლად და ამობეჭდოთ გასაღები, 318 00:16:22,500 --> 00:16:28,079 თუ მე დააჭირეთ რომ, ახლა მე მიღების ფაქტობრივი ელემენტების შიგნით ჩემი ობიექტი 319 00:16:28,079 --> 00:16:29,120 ან ჩემი მასივი, ამ შემთხვევაში. 320 00:16:29,120 --> 00:16:31,760 ჩემი მასივი დღეებში. 321 00:16:31,760 --> 00:16:33,480 მე იბეჭდება ორშაბათს, სამშაბათი, ოთხშაბათი. 322 00:16:33,480 --> 00:16:36,930 ასე რომ, განსხვავება ამ loop, რომელიც ბეჭდავს 323 00:16:36,930 --> 00:16:43,410 უბრალოდ გასაღებები თუ უბრალოდ გამოიყენოთ გასაღები შიგნით ორგანო მარყუჟის, 324 00:16:43,410 --> 00:16:46,850 და ამისთვის loop, რომელიც ბეჭდავს ღირებულებების, თუ თქვენ იყენებთ მხოლოდ 325 00:16:46,850 --> 00:16:48,870 საკვანძო შიგნით ორგანოს loop. 326 00:16:48,870 --> 00:16:52,380 >> ყველა უფლება, როგორ უნდა ახლა დაიწყება concatenate სიმები და შესაძლოა აღრევას 327 00:16:52,380 --> 00:16:57,220 ზოგიერთი ცვლადის ერთად ინტერპოლაცია როგორც ჩვენ შევძელით ამის PHP? 328 00:16:57,220 --> 00:16:59,410 ისე, ჩვენ საკმაოდ ნაცნობი ეს ეხლა PHP. 329 00:16:59,410 --> 00:17:04,109 ეს არის თუ როგორ უნდა გავაკეთოთ ის გამოყენებით dot ოპერატორი concatenate სიმები. 330 00:17:04,109 --> 00:17:06,260 ამ JavaScript, თუმცა, ჩვენ, ფაქტობრივად, გამოიყენოთ რაღაც 331 00:17:06,260 --> 00:17:09,290 მოუწოდა პლუს ოპერატორი, რომელიც ალბათ კიდევ ცოტა მეტი 332 00:17:09,290 --> 00:17:10,470 ინტუიციური, არა? 333 00:17:10,470 --> 00:17:12,609 ჩვენ დასძინა რამოდენიმე სიმები ერთად. 334 00:17:12,609 --> 00:17:14,520 მოდით უხელმძღვანელებს უკან მეტი და ვნახოთ რა ეს 335 00:17:14,520 --> 00:17:18,693 ბეჭდვა, თუ ჩვენ ვცდილობთ, რომ ამობეჭდოთ ყველა ინფორმაცია ამ კვირაში მასივი. 336 00:17:18,693 --> 00:17:20,859 ყველა უფლება, ასე ქვეშ აქ ქვეშ სიმებიანი გაერთიანების, 337 00:17:20,859 --> 00:17:24,822 მე მაქვს ორი ვარიანტი, სიმებიანი შენობა V1 და შემდეგ სიმებიანი შენობა V2. 338 00:17:24,822 --> 00:17:26,530 და ვნახავთ, თუ რატომ ჩვენ უნდა V2 მეორე. 339 00:17:26,530 --> 00:17:28,610 მაგრამ მე კარგად დააკლიკეთ სიმებიანი შენობა V1, რომელიც 340 00:17:28,610 --> 00:17:30,360 არის კოდი ვიყავით უბრალოდ აღების შევხედოთ, 341 00:17:30,360 --> 00:17:32,980 console.log ყველა დადებითი. 342 00:17:32,980 --> 00:17:35,910 მოდით ვნახოთ, თუ ეს ნამუშევარი რა ჩვენ ველით. 343 00:17:35,910 --> 00:17:39,939 >> ორშაბათს, დღეში ნომერი 01 კვირაში, სამშაბათი დღე 11 კვირაში. 344 00:17:39,939 --> 00:17:41,730 ისე, რა მე ვცდილობდი უნდა გავაკეთოთ იყო მიიღონ 345 00:17:41,730 --> 00:17:46,280 ის უნდა ამობეჭდოთ ორშაბათს დღეში ნომერი ერთ-ერთი, სამშაბათი დღე ნომერი ორი. 346 00:17:46,280 --> 00:17:50,140 მაგრამ, როგორც ჩანს, როგორიც მე ვარ ყოველთვის დაბეჭდვისას ერთი. 347 00:17:50,140 --> 00:17:51,260 ისე, რატომ არის, რომ? 348 00:17:51,260 --> 00:17:55,600 ისე, თურმე, მიიღოს სხვა სახე ამ მცირე მონაკვეთში კოდი აქ. 349 00:17:55,600 --> 00:18:00,160 გაითვალისწინეთ, რომ ჩვენ გამოყენებით პლუს ოპერატორის ორ სხვადასხვა კონტექსტში. 350 00:18:00,160 --> 00:18:03,221 >> ასე რომ, აქ, სადაც შესაძლოა, რამ რომ ჩვენ სახის ვამბობდით, 351 00:18:03,221 --> 00:18:03,970 ოჰ, ეს იმდენად დიდი. 352 00:18:03,970 --> 00:18:05,910 ჩვენ არ გაუმკლავდეთ მონაცემთა ტიპები მთელი მსოფლიოს მასშტაბით. 353 00:18:05,910 --> 00:18:08,220 მაგრამ აქ, სადაც ის ფაქტი, რომ ჩვენ დასაკარგი მონაცემთა ტიპები 354 00:18:08,220 --> 00:18:10,960 შეიძლება რეალურად იყოს ცოტა პრობლემა ჩვენთვის. 355 00:18:10,960 --> 00:18:16,260 ახლა, პლუს ოპერატორი გამოიყენება concatenate სიმები და დაამატოთ ნომრები 356 00:18:16,260 --> 00:18:19,550 ერთად, JavaScript აქვს რათა მისი საუკეთესო ვხვდები 357 00:18:19,550 --> 00:18:22,030 როგორი მინდა, რომ ეს ჩემთვის. 358 00:18:22,030 --> 00:18:23,900 და ამ შემთხვევაში, ეს მიხვდა არასწორი. 359 00:18:23,900 --> 00:18:29,340 უბრალოდ concatenated დღე, რომელიც იქნება 0, ერთი, ორი, სამი, ოთხი, ხუთი, ექვსი, 360 00:18:29,340 --> 00:18:32,060 და მერე უბრალოდ concatenated და შემდეგ, concatenated ერთი. 361 00:18:32,060 --> 00:18:35,020 იგი პრაქტიკულად არ დაამატოთ ისინი ერთად. 362 00:18:35,020 --> 00:18:37,320 ასე რომ, ამ ენებზე, PHP და JavaScript, 363 00:18:37,320 --> 00:18:39,196 რომ რეფერატები მოშორებით ეს ცნება ტიპის, 364 00:18:39,196 --> 00:18:40,820 თქვენ არ უნდა გაუმკლავდეთ მას აღარ. 365 00:18:40,820 --> 00:18:43,600 ისინი ჯერ კიდევ აქვს სახის ქვეშ hood. 366 00:18:43,600 --> 00:18:46,780 და ჩვენ შეგვიძლია, იმ შემთხვევაში, როგორც ეს, ბერკეტები, რომ ის ფაქტი, 367 00:18:46,780 --> 00:18:49,240 განაცხადა, რაღაც როგორც იქნებ ეს, რომელიც 368 00:18:49,240 --> 00:18:53,210 ეუბნება JavaScript, მიერ გზა, მკურნალობა, როგორც მთელი რიცხვი, 369 00:18:53,210 --> 00:18:57,100 არ მკურნალობა, როგორც ტექსტი, თუნდაც მიუხედავად იმისა, რომ ჩვენ შერევით ერთად სიმები 370 00:18:57,100 --> 00:18:58,940 და რიცხვებით აქ. 371 00:18:58,940 --> 00:19:02,204 >> ეს მხოლოდ ერთი იმ რამ, ის, რომ, როგორც ჩანს, იმდენად დიდი კონტექსტში 372 00:19:02,204 --> 00:19:04,120 რომ ჩვენ არ უნდა გაუმკლავდეთ ტიპის აღარ, 373 00:19:04,120 --> 00:19:05,828 მაგრამ ზოგჯერ თქვენ გადაეყარონ სიტუაცია 374 00:19:05,828 --> 00:19:09,110 ზუსტად ისევე, როგორც ეს, სადაც ის ფაქტი, რომ თქვენ არ გაქვთ კონტროლი სახის 375 00:19:09,110 --> 00:19:11,220 შეიძლება backfire თქვენ თუ თქვენ არ ფრთხილად. 376 00:19:11,220 --> 00:19:18,285 ასე რომ, თუ ჩვენ პოპ უკან მეტი IDE, მე ვაპირებ გარკვევას ჩემი კონსოლი, კიდევ ერთხელ, 377 00:19:18,285 --> 00:19:20,660 და მე ვაპირებ დააჭირეთ string შენობა ორი ვერსია, რომელიც 378 00:19:20,660 --> 00:19:23,052 არის, სადაც მე, რომ გარჩევის int ფუნქცია. 379 00:19:23,052 --> 00:19:25,260 ახლა ეს დაბეჭდვისას ინფორმაცია, რომ მე ელოდება. 380 00:19:25,260 --> 00:19:29,330 ორშაბათი დღეს ნომერ, სამშაბათი დღე მეორე, და ასე შემდეგ. 381 00:19:29,330 --> 00:19:31,170 >> ასე რომ, მოდით ვისაუბროთ ფუნქციები ერთხელ. 382 00:19:31,170 --> 00:19:34,790 მე დაგვპირდნენ, რომ ვისაუბროთ ანონიმური ფუნქციები და ახლა კონტექსტში, რომ 383 00:19:34,790 --> 00:19:36,360 საბოლოოდ ჩამოვიდა. 384 00:19:36,360 --> 00:19:39,980 ასე რომ, სანამ ჩვენ ამის გაკეთება, მოდით ვისაუბროთ ერთხელ მასივების მხოლოდ მეორე. 385 00:19:39,980 --> 00:19:42,120 ასე რომ კოლექტორები არის სპეციალური საგნის შემთხვევაში. 386 00:19:42,120 --> 00:19:45,180 სინამდვილეში, ყველაფერი JavaScript არის რეალურად ობიექტი. 387 00:19:45,180 --> 00:19:47,190 ასე რომ, ფუნქციები სპეციალური საგნის შემთხვევაში, 388 00:19:47,190 --> 00:19:49,770 რიცხვებით არის სპეციალური საგნის შემთხვევაში, 389 00:19:49,770 --> 00:19:52,152 მაგრამ კოლექტორები კონკრეტულად აქვს რიგი მეთოდები. 390 00:19:52,152 --> 00:19:55,110 დამახსოვრება იმიტომ, რომ ისინი ობიექტები, მათ შეუძლიათ თვისებები და მეთოდები. 391 00:19:55,110 --> 00:19:58,600 მათ აქვთ მთელი რიგი მეთოდები, რომ შეიძლება იქნას გამოყენებული იმ ობიექტების. 392 00:19:58,600 --> 00:20:01,197 არსებობს მეთოდი ეწოდება ზომა, array.size, 393 00:20:01,197 --> 00:20:03,030 რომელიც დაბრუნდება თქვენ, როგორც თქვენ შეიძლება ველოდოთ 394 00:20:03,030 --> 00:20:05,120 რაოდენობის ელემენტები თქვენი მასივი. 395 00:20:05,120 --> 00:20:08,480 array.pop, ერთგვარი მოსწონს ჩვენი ცნება popping off 396 00:20:08,480 --> 00:20:11,110 დასტის, თუ გავიხსენებთ ჩვენი stacks ვიდეო, 397 00:20:11,110 --> 00:20:13,810 ხსნის ბოლო ელემენტს მასივი. 398 00:20:13,810 --> 00:20:17,110 array.push დასძენს ახალი ელემენტი ბოლოს მასივი. 399 00:20:17,110 --> 00:20:20,910 array.shift არის ერთგვარი ისევე როგორც DQ, ეს splices გარეთ 400 00:20:20,910 --> 00:20:23,610 პირველივე ელემენტს მასივი. 401 00:20:23,610 --> 00:20:27,549 >> მაგრამ არსებობს კიდევ ერთი სპეციალური მეთოდი მასივი მოუწოდა რუკაზე. 402 00:20:27,549 --> 00:20:29,340 და ეს არის ერთგვარი საინტერესო კონცეფცია. 403 00:20:29,340 --> 00:20:30,930 რა არის იდეა რუკა? 404 00:20:30,930 --> 00:20:33,880 თქვენ რეალურად ვხედავ ამ რამდენიმე სხვა ენებზე, 405 00:20:33,880 --> 00:20:38,550 და ჩვენ არ ვსაუბრობთ ერთგვარი კარტოგრაფების რუკაზე აქ, 406 00:20:38,550 --> 00:20:41,480 ჩვენ ვსაუბრობთ რუკების ფუნქცია. 407 00:20:41,480 --> 00:20:44,110 ამ კონტექსტში ჩვენ ვსაუბრობთ აქ, რუკა 408 00:20:44,110 --> 00:20:47,950 არის სპეცოპერაციის შეუძლია შეასრულოს მასივი 409 00:20:47,950 --> 00:20:51,630 მიმართოს კონკრეტული ფუნქცია ყველა ელემენტს რომ მასივი. 410 00:20:51,630 --> 00:20:55,190 და ამიტომ ჩვენ ვიტყოდი ამ შემთხვევაში, შესაძლოა, array.map, 411 00:20:55,190 --> 00:21:00,330 და შიგნით რომ, ჩვენ ავლით შევიდა რუკა არის ფუნქცია, რომელიც ჩვენ გვინდა 412 00:21:00,330 --> 00:21:02,430 უნდა იქნას გამოყენებული თითოეული ელემენტი. 413 00:21:02,430 --> 00:21:07,299 ასე რომ, ეს არის ერთგვარი ანალოგიური გამოყენებით მარყუჟის გადაურბინოთ ყოველ ელემენტს 414 00:21:07,299 --> 00:21:09,340 და ვრცელდება კონკრეტული ფუნქციონირებს ყველა ელემენტს, 415 00:21:09,340 --> 00:21:14,830 უბრალოდ JavaScript აქვს ამ აშენდა ცნება რუკების, რომელიც შეიძლება იქნას გამოყენებული. 416 00:21:14,830 --> 00:21:19,700 და ეს არის დიდი კონტექსტში ვისაუბროთ ანონიმური ფუნქცია. 417 00:21:19,700 --> 00:21:22,370 >> ასე ვთქვათ ჩვენ ამ მასივი რიცხვებით. 418 00:21:22,370 --> 00:21:25,370 ეს ე.წ. nums, და ეს მივიღე ხუთ რამ, ერთი, ორი, სამი, ოთხი, 419 00:21:25,370 --> 00:21:26,410 ხუთ. 420 00:21:26,410 --> 00:21:30,620 ახლა მინდა განვსაზღვრავთ ზოგიერთი ფუნქცია ამ მასივი. 421 00:21:30,620 --> 00:21:34,337 მე მინდა, რომ ფუნქცია ვრცელდება ყველა ელემენტს მასივი. 422 00:21:34,337 --> 00:21:37,420 ისე, ვთქვათ, რომ რაც მე მინდა ამის გაკეთება მხოლოდ გაორმაგდება ყველა ელემენტები. 423 00:21:37,420 --> 00:21:42,520 რა შეიძლება გავაკეთოთ უბრალოდ გამოიყენოთ loop ამისთვის var მე უდრის 0, მე ნაკლებია 424 00:21:42,520 --> 00:21:47,390 ან ტოლია 4, მე plus, პლუს, და შემდეგ ორჯერ თითოეული ნომერი. 425 00:21:47,390 --> 00:21:49,580 მაგრამ ასევე შემიძლია რაღაც მოსწონს ეს. 426 00:21:49,580 --> 00:21:53,420 შემიძლია ვთქვა, nums იყო ადრე ერთი, ორი, სამი, ოთხი, ხუთი, 427 00:21:53,420 --> 00:21:58,310 ახლა, თუმცა, მე მინდა ვრცელდება ობიექტების გადატანა ამ მასივი 428 00:21:58,310 --> 00:22:00,400 სადაც მინდა გაორმაგება ყოველ ნომერი. 429 00:22:00,400 --> 00:22:02,540 და სწორედ რა ხდება აქ. 430 00:22:02,540 --> 00:22:06,870 მაგრამ შეამჩნია რა მე გავლით როგორც არგუმენტი რუკაზე. 431 00:22:06,870 --> 00:22:09,080 ეს არის ანონიმური ფუნქცია. 432 00:22:09,080 --> 00:22:11,140 და შენიშნავს, მე არ მიეცა ამ ფუნქციის სახელი, 433 00:22:11,140 --> 00:22:13,290 მე მხოლოდ მისცა მას პარამეტრის სია. 434 00:22:13,290 --> 00:22:16,370 ასე რომ, ეს არის მაგალითი ანონიმური ფუნქცია. 435 00:22:16,370 --> 00:22:21,270 >> ჩვენ ზოგადად არასოდეს მოვუწოდებთ ამ ფუნქცია გარეთ კონტექსტში რუკაზე. 436 00:22:21,270 --> 00:22:24,110 ჩვენ განსაზღვრავს მას როგორც პარამეტრი რუკაზე, და ამიტომ ჩვენ ნამდვილად არ 437 00:22:24,110 --> 00:22:27,910 უნდა სახელი, თუ ერთადერთი, რაც ზრუნავს, რუკა 438 00:22:27,910 --> 00:22:30,339 და ეს განსაზღვრული უფლება იქ შიგნით რუკაზე. 439 00:22:30,339 --> 00:22:31,880 ასე რომ, ეს არის ანონიმური ფუნქცია. 440 00:22:31,880 --> 00:22:34,680 ჩვენ ვერ შევძელით უნდა გავაკეთოთ ეს ადრე. 441 00:22:34,680 --> 00:22:38,400 რუკა ზოგიერთი ფუნქცია, რომელიც ადასტურებს ერთი პარამეტრი, num, 442 00:22:38,400 --> 00:22:41,890 და რა, რომ ფუნქცია აქვს არის ბრუნდება num 2-ჯერ. 443 00:22:41,890 --> 00:22:45,330 ასე რომ, მას შემდეგ, რაც ამ რუკების იქნა გამოყენებული, 444 00:22:45,330 --> 00:22:50,090 ეს არის ის, რაც nums გამოიყურება მინდა, ორი, ოთხი, ექვსი, რვა, 10. 445 00:22:50,090 --> 00:22:52,090 და ჩვენ პოპ მეტი ჩემი ბრაუზერის ფანჯარაში და მხოლოდ 446 00:22:52,090 --> 00:22:55,240 შევხედოთ ამ მართლაც სწრაფად ასევე. 447 00:22:55,240 --> 00:22:58,000 >> ასე რომ, მე სხვა ღილაკს აქ ჩემი მთავარი გვერდი ეწოდება ორმაგი. 448 00:22:58,000 --> 00:23:03,570 და როდესაც მე დააწკაპუნეთ ორმაგი, და ეს ეუბნება მე ადრე ეს იყო ერთ-ერთი, ორი, სამი, ოთხი, 449 00:23:03,570 --> 00:23:07,250 ხუთ შემდეგ ორი, ოთხი, ექვსი, რვა, 10. 450 00:23:07,250 --> 00:23:11,930 და თუ მე დაბრუნდეს და დააჭირეთ ორმაგი ერთხელ, ორი, ოთხი, ექვსი, რვა, 10. 451 00:23:11,930 --> 00:23:17,400 და შემდეგ, ოთხი, რვა, 12, 16 და 20. 452 00:23:17,400 --> 00:23:20,440 და რა ვარ მე აკეთებს ამ ფუნქციას? 453 00:23:20,440 --> 00:23:25,210 ისე, თუ ჩვენ უბრალოდ პოპ მეტი IDE, და მე გაიყვანოს ჩემი ანონიმური ფუნქცია, აქ 454 00:23:25,210 --> 00:23:28,780 on line შვიდი გზით 13, მე აკეთებს ცოტა ლამაზი სამუშაო აქ, 455 00:23:28,780 --> 00:23:32,240 მაგრამ მე უბრალოდ ბეჭდვა რა არის გაკეთებული მასივი. 456 00:23:32,240 --> 00:23:36,580 მაშინ on line 16, 17, და 18 არის ჩემი რუკაზე. 457 00:23:36,580 --> 00:23:40,930 ეს არის სადაც მე გამოყენებით ამ გაორმაგება ფუნქცია თითოეული ელემენტს. 458 00:23:40,930 --> 00:23:43,530 და მაშინ ცოტა უფრო ქვემოთ, მე უბრალოდ აკეთებს იმავეს 459 00:23:43,530 --> 00:23:46,640 მე აკეთებდა ადრე, გარდა იმისა რომ, ახლა მე დაბეჭდვისას შინაარსი მასივი 460 00:23:46,640 --> 00:23:48,167 შემდეგ. 461 00:23:48,167 --> 00:23:50,500 მაგრამ ყველა მე ვაკეთებ აქ არის უბრალოდ გამოიყენოთ ანონიმური ფუნქცია 462 00:23:50,500 --> 00:23:53,640 რუკაზე მასშტაბით მთელი მასივი. 463 00:23:53,640 --> 00:23:58,466 >> ასე რომ, კიდევ ერთი დიდი თემა ვისაუბრო JavaScript არის ცნება ღონისძიება. 464 00:23:58,466 --> 00:24:01,590 ღონისძიება არის ის, რომ რაღაც როდესაც მომხმარებელი ურთიერთქმედებს თქვენი ვებ 465 00:24:01,590 --> 00:24:04,715 გვერდი, იქნებ ისინი დააწკაპუნეთ რაღაც, ან იქნებ გვერდი დასრულდა დატვირთვა, 466 00:24:04,715 --> 00:24:07,200 ან იქნებ ისინი გადავიდა მათი მაუსის მეტი რამე, 467 00:24:07,200 --> 00:24:09,290 ან ისინი აკრეფილი რაღაც ამ ველში. 468 00:24:09,290 --> 00:24:14,260 ეს ყველაფერი მოვლენები რომ ხდება ჩვენს ვებ-გვერდზე. 469 00:24:14,260 --> 00:24:17,460 და JavaScript აქვს შესაძლებლობების მხარდასაჭერად რაიმე 470 00:24:17,460 --> 00:24:21,760 მოუწოდა ღონისძიება დამმუშავებლის, რომელიც არის უკუგამოძახება ფუნქცია, რომელიც 471 00:24:21,760 --> 00:24:23,329 პასუხობს html ღონისძიება. 472 00:24:23,329 --> 00:24:24,620 და რა არის გადმორეკე ფუნქცია? 473 00:24:24,620 --> 00:24:27,328 ისე, ეს ზოგადად კიდევ ერთი სახელი ანონიმური ფუნქცია. 474 00:24:27,328 --> 00:24:30,170 ეს არის ფუნქცია, რომელიც პასუხობს ღონისძიება. 475 00:24:30,170 --> 00:24:34,130 ეს არის სადაც ჩვენ მოვიდა იდეა სავალდებულო გარკვეული ფუნქციები 476 00:24:34,130 --> 00:24:38,060 კონკრეტული html ატრიბუტი. 477 00:24:38,060 --> 00:24:41,420 ყველაზე HTML ელემენტები აქვს მხარდაჭერა ატრიბუტი 478 00:24:41,420 --> 00:24:45,170 რომ ჩვენ არ ვსაუბრობთ ამ html ვიდეო რაღაც დაჭერით 479 00:24:45,170 --> 00:24:50,540 ან hover ან დატვირთვა, ყველა ეს მოვლენები 480 00:24:50,540 --> 00:24:53,120 რომელიც შეგიძლიათ შემდეგ დაწერა ფუნქციები რომ გარიგება იმ მოვლენების 481 00:24:53,120 --> 00:24:56,090 როდესაც იმ მოვლენების მოხდეს თქვენს ვებ გვერდზე. 482 00:24:56,090 --> 00:24:59,170 >> ასე რომ, შესაძლოა, თქვენი html ასე გამოიყურება. 483 00:24:59,170 --> 00:25:02,240 და მაქვს ორი ღილაკი აქ, ღილაკს ერთ ღილაკს და ორი, 484 00:25:02,240 --> 00:25:04,620 და აქ მაქვს გაკეთებული განსაზღვრული არაფერი, 485 00:25:04,620 --> 00:25:11,170 მაგრამ ეს არის, სადაც ატრიბუტი click როგორც ჩანს, ნაწილი ჩემი html აქვს. 486 00:25:11,170 --> 00:25:15,220 ასე რომ, როგორც ჩანს, როცა განსაზღვრავს, თუ რა არის მიმდინარეობს შიგნით რომ ატრიბუტი, 487 00:25:15,220 --> 00:25:18,590 ეს იქნება გარკვეული JavaScript ფუნქცია, რომელიც პასუხობს ღონისძიება 488 00:25:18,590 --> 00:25:24,360 სავარაუდოდ, დაჭერით ღილაკს ერთი ან ღილაკს ორი. 489 00:25:24,360 --> 00:25:28,580 >> რა სახის cool შესახებ ეს ჩვენ შეგიძლიათ დაწეროთ generic ღონისძიება დამმუშავებლის. 490 00:25:28,580 --> 00:25:32,370 ეს ღონისძიება დამმუშავებლის შექმნა ღონისძიება ობიექტი. 491 00:25:32,370 --> 00:25:37,000 და ღონისძიების ობიექტი გვეტყვის რომელი ორი ღილაკი დააწკაპებთ. 492 00:25:37,000 --> 00:25:38,064 ახლა როგორ, რომ მუშაობს? 493 00:25:38,064 --> 00:25:39,730 ისე, რომ შეიძლება რაღაც მსგავსი. 494 00:25:39,730 --> 00:25:44,860 ასე რომ, ჩვენ პირველი განსაზღვროს ჩვენი ღილაკები აქვს პასუხი უკუგამოძახება 495 00:25:44,860 --> 00:25:47,470 ფუნქცია, რომელიც იქნება ე.წ. როდესაც ღილაკი დაწკაპავთ, 496 00:25:47,470 --> 00:25:49,520 ჩვენ მოვუწოდებთ ღონისძიება alert სახელი. 497 00:25:49,520 --> 00:25:53,320 და შენიშნავს, ორივე შემთხვევაში ჩვენ გავლის ამ ღონისძიებაში პარამეტრი. 498 00:25:53,320 --> 00:25:55,460 ასე რომ, ჩვენ მოვუწოდებთ ამ ფუნქციის ან როდესაც ეს ფუნქცია 499 00:25:55,460 --> 00:26:00,330 არის გამოწვეული მოვლენა ხდება, ის აპირებს, რათა შეიქმნას ამ ღონისძიების ობიექტი 500 00:26:00,330 --> 00:26:03,300 და გაივლის მას, როგორც პარამეტრი პირთა სახელი. 501 00:26:03,300 --> 00:26:07,270 და რომ ღონისძიების ობიექტი არის აპირებს შეიცავდეს ინფორმაციას 502 00:26:07,270 --> 00:26:09,800 შესახებ, რომელიც ღილაკს იყო დაწკაპავთ. 503 00:26:09,800 --> 00:26:11,580 და როგორ გავაკეთოთ ეს? 504 00:26:11,580 --> 00:26:13,654 ისე, რომ შეიძლება რაღაც მსგავსი. 505 00:26:13,654 --> 00:26:15,570 ახლა ჩემი ცალკე JavaScript ფაილი, მე შეიძლება 506 00:26:15,570 --> 00:26:17,420 უნდა მოვძებნოთ ეს ფუნქცია alert სახელი, რომელიც 507 00:26:17,420 --> 00:26:19,500 კიდევ ერთხელ ადასტურებს, რომ ღონისძიება პარამეტრი. 508 00:26:19,500 --> 00:26:24,640 და მერე აქ არის, სადაც მე გამოვლენის რაც ღილაკს გამოიწვია, 509 00:26:24,640 --> 00:26:28,100 var გამოიწვევს ტოლია ღონისძიება dot წყარო ელემენტს. 510 00:26:28,100 --> 00:26:33,150 რა იყო წყარო, რომელიც შექმნილია ამ ღონისძიების ობიექტი, რომელიც იყო მიღებული? 511 00:26:33,150 --> 00:26:36,390 იყო ეს ღილაკი ერთი ან იყო ღილაკს ორი? 512 00:26:36,390 --> 00:26:40,710 >> და მერე აქ ყველა ვაკეთებ დაბეჭდვისას trigger.innerhtml. 513 00:26:40,710 --> 00:26:43,860 ისე, ამ შემთხვევაში, ამ კონტექსტში, trigger.innerhtml 514 00:26:43,860 --> 00:26:45,940 მხოლოდ ის, რაც წერია ღილაკს. 515 00:26:45,940 --> 00:26:48,830 ეს უბრალოდ ისე ხდება, თუ ჩვენ ხტომა უკან მეორე, რომ 516 00:26:48,830 --> 00:26:51,670 იყოს რა არის შორის იმ ღილაკს tags. 517 00:26:51,670 --> 00:26:54,150 ეს იქნება ღილაკს ერთი ან ღილაკს ორი. 518 00:26:54,150 --> 00:26:57,320 და მოდით შევხედოთ როგორ ეს ღონისძიება დამმუშავებლის გვინდა 519 00:26:57,320 --> 00:27:01,080 შევხედოთ თუ გვქონდა, რომ გაშვებული პრაქტიკაში. 520 00:27:01,080 --> 00:27:03,850 >> ასე რომ, პირველ რიგში, თქვენ გაიხსნა events.js, 521 00:27:03,850 --> 00:27:06,517 რომელიც არის JavaScript ფაილი, სადაც მე არ განისაზღვრება ამ ფუნქციის. 522 00:27:06,517 --> 00:27:08,558 და როგორც ხედავთ, ეს არის საკმაოდ ბევრი ზუსტად რა 523 00:27:08,558 --> 00:27:10,230 ჩვენ ვნახეთ on the slide მეორე წინ. 524 00:27:10,230 --> 00:27:14,890 და წავალ მეტი მთავარი გვერდი ჩვენ უკვე გამოყენებით. 525 00:27:14,890 --> 00:27:17,660 და მე აქ ღილაკს ერთი და ღილაკს ორი. 526 00:27:17,660 --> 00:27:19,820 და მე დააჭირეთ ღილაკს ერთი. 527 00:27:19,820 --> 00:27:23,930 თქვენ დაწკაპავთ ღილაკს ერთი, თუ ხედავთ, სწორედ აქ, რომ მზადყოფნაში. 528 00:27:23,930 --> 00:27:25,810 OK. 529 00:27:25,810 --> 00:27:28,980 დააჭირეთ ღილაკს ორი, დაწკაპავთ ღილაკს ორი. 530 00:27:28,980 --> 00:27:32,150 >> ასე რომ, ორივე ღილაკები აქვს იგივე ფუნქცია ზარი, არა? 531 00:27:32,150 --> 00:27:35,840 ორივენი alert სახელი ღონისძიება, მაგრამ ამ ღონისძიების ობიექტი 532 00:27:35,840 --> 00:27:41,900 რომელიც იღებს ის, როცა ჩვენ დააკლიკეთ ის მოგვითხრობს, რომელიც ღილაკს იყო დაწკაპავთ. 533 00:27:41,900 --> 00:27:44,650 ჩვენ არ უნდა დაწეროს ორი ცალკე ფუნქციები და გარიგება, რომელსაც 534 00:27:44,650 --> 00:27:46,470 გაივლის რაიმე დამატებით ინფორმაციას. 535 00:27:46,470 --> 00:27:48,220 ჩვენ უბრალოდ ეყრდნობოდა რა JavaScript იქნება 536 00:27:48,220 --> 00:27:53,772 ჩვენთვის, რაც შექმნა, რომ სახის ღონისძიება ობიექტი ჩვენი სახელით. 537 00:27:53,772 --> 00:27:56,730 არსებობს კიდევ ბევრი JavaScript, ვიდრე ის, რაც ჩვენ დაფარული ამ ვიდეო, 538 00:27:56,730 --> 00:27:58,521 მაგრამ, რომ ამ ფუნდამენტური უნდა მიიღოს თუ არა 539 00:27:58,521 --> 00:28:00,690 საკმაოდ გრძელი გზები სწავლის ყველაფერი თქვენ 540 00:28:00,690 --> 00:28:04,030 უნდა იცოდეთ ამ საინტერესო ენაზე. 541 00:28:04,030 --> 00:28:05,000 მე Doug Lloyd. 542 00:28:05,000 --> 00:28:07,010 ეს არის CS50. 543 00:28:07,010 --> 00:28:09,181