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 >> داگ لوید: بنابراین در حال حاضر ما هستیم جوانب مثبت در برنامه نویسی تحت وب، درست است؟ 4 00:00:08,690 --> 00:00:12,140 و ما چند تحت پوشش زبان در فیلم فردی است. 5 00:00:12,140 --> 00:00:14,690 و اکنون اجازه دهید یک، جاوا اسکریپت است. 6 00:00:14,690 --> 00:00:17,370 >> اول خبر خوب، جاوا اسکریپت برنامه نویسی مدرن است 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 این مورد به عنوان قدیمی به عنوان پی اچ پی، نیز هست، از حدود 20 سال بوده است. 10 00:00:25,880 --> 00:00:28,600 آن را در اطراف اختراع شد همان زمان به عنوان پی اچ پی. 11 00:00:28,600 --> 00:00:32,240 و جاوا اسکریپت است که در واقع بسیار اساسی به تجربه کاربر 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 و جاوا اسکریپت. 16 00:00:42,650 --> 00:00:46,030 و بنابراین در حال حاضر صحبت کنیم کمی در مورد جاوا اسکریپت. 17 00:00:46,030 --> 00:00:50,301 >> خبر بد، هر چند، با جاوا اسکریپت است که از آن مجموعه بسیاری از قوانین برای خود، 18 00:00:50,301 --> 00:00:51,300 و سپس آن را تجزیه. 19 00:00:51,300 --> 00:00:54,010 و جاوا اسکریپت در واقع می تواند نوع چالش کشیدن برای یادگیری، 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 جاوا اسکریپت است نوع از بدست تا انعطاف پذیر 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 به عنوان یک جاوا اسکریپت. 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 و بنابراین ما شروع به تاخت و تاز کردن می توانید به جاوا اسکریپت یک کمی. 30 00:01:21,470 --> 00:01:25,750 >> برای ارسال جاوا اسکریپت، شبیه به باز کردن یک فایل با پسوند C نقطه C 31 00:01:25,750 --> 00:01:29,770 و یا یک فایل PHP با پسوند دات پی اچ پی، همه ما نیاز به انجام است باز کردن یک فایل 32 00:01:29,770 --> 00:01:31,764 با نقطه جی اس پسوند. 33 00:01:31,764 --> 00:01:34,430 ما لازم نیست که به هر گونه خاص جداکننده مثل ما در PHP است. 34 00:01:34,430 --> 00:01:36,750 این نوع از زاویه براکت علامت سوال PHP 35 00:01:36,750 --> 00:01:40,300 که ما به از آن، راه استفاده می شود ما مرورگر ما بگویید که چیزی است که ما 36 00:01:40,300 --> 00:01:43,502 جاوا اسکریپت است از جمله آن را در یک تگ HTML، 37 00:01:43,502 --> 00:01:46,210 و ما کمی در مورد دید چگونه به انجام این در یک لحظه. 38 00:01:46,210 --> 00:01:48,210 >> چیز دیگری که باعث می شود جاوا اسکریپت مختلف، 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 پی اچ پی، که زیر خط یک وب سایت. 42 00:01:57,041 --> 00:01:59,040 اگر ما همیشه مشاهده شده صفحه منبع، ما تنها 43 00:01:59,040 --> 00:02:02,830 اچ تی ام ال که ببینید تولید شده توسط که پی اچ پی. 44 00:02:02,830 --> 00:02:04,900 اما جاوا اسکریپت سمت کلاینت اجرا می شود. 45 00:02:04,900 --> 00:02:06,710 جاوا اسکریپت خود را اجرا بر روی کامپیوتر شما. 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 مسدود کردن آگهی است که معمولا توسط انجام کشتن تمام از جاوا اسکریپت 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 شما فقط می توانید جلوگیری از جاوا اسکریپت برای اجرای کامل. 52 00:02:21,910 --> 00:02:27,030 این همچنین بدان معنی که هنگام استفاده از یک وب سایت که شامل جاوا اسکریپت، 53 00:02:27,030 --> 00:02:32,450 شما باید برای ارسال منبع جاوا اسکریپت کد عنوان بخشی از پاسخ HTTP خود را 54 00:02:32,450 --> 00:02:34,159 به مشتری زمانی که آنها آن را درخواست کنید. 55 00:02:34,159 --> 00:02:35,950 و بنابراین شما ممکن نیست مایل به استفاده از جاوا اسکریپت 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 >> پس چگونه ما عبارتند از جاوا اسکریپت در HTML ما برای شروع با؟ 61 00:02:51,620 --> 00:02:54,520 خب، شبیه به CSS، در واقع، مرتب کردن بر اساس چگونه ما آن را در اینجا انجام شده است. 62 00:02:54,520 --> 00:02:56,190 با استفاده از CSS ما برچسب ها سبک. 63 00:02:56,190 --> 00:03:00,760 و در داخل از آن برچسب های سبک، ما می توانیم شیوه نامه CSS را تعریف کنیم. 64 00:03:00,760 --> 00:03:03,450 به طور مشابه با جاوا اسکریپت می توانید برای باز ما برچسب ها اسکریپت، 65 00:03:03,450 --> 00:03:06,660 یکی دیگر از تگ HTML ما نمی بحث در مورد فیلم در HTML ما، 66 00:03:06,660 --> 00:03:09,720 و جاوا اسکریپت را در ارسال بین کسانی که در تگ اسکریپت. 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 با استفاده از CSS ما همچنین می توانید، ببخشید، با جاوا اسکریپت 70 00:03:18,280 --> 00:03:23,240 ما همچنین می توانیم منبع مشخص صفت از تگ اسکریپت 71 00:03:23,240 --> 00:03:25,720 به پیوند در جاوا اسکریپت به طور جداگانه، بنابراین شما لازم نیست 72 00:03:25,720 --> 00:03:27,680 باید آن را در ارسال بین تگ اسکریپت، ما 73 00:03:27,680 --> 00:03:29,600 می توانید آن را با استفاده از لینک در که تگ اسکریپت نیز هست. 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 که شما خود را ارسال جاوا اسکریپت در فایل های جداگانه 78 00:03:40,720 --> 00:03:45,460 و با استفاده از منبع برچسب ها اسکریپت نسبت به کراوات جاوا اسکریپت خود را 79 00:03:45,460 --> 00:03:49,520 به HTML شما، صفحه وب خود را. 80 00:03:49,520 --> 00:03:52,610 >> متغیرهای جاوا اسکریپت، ما شروع به صحبت کردن در مورد نحو در اینجا. 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 بنابراین متغیرها در جاوا اسکریپت می بسیار شبیه به پی اچ پی متغیر. 84 00:03:59,490 --> 00:04:03,270 هیچ نوع تعیین وجود دارد، و وقتی شما معرفی یک متغیر، 85 00:04:03,270 --> 00:04:05,070 شما آن را پیشوند با کلید واژه var. 86 00:04:05,070 --> 00:04:07,750 در پی اچ پی ما چیزی را انجام دهید مثل این، علامت دلار 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 اگر ما انجام شد همان چیزی که در جاوا اسکریپت، 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 شرطی، همه ما دوستان قدیمی از سی و پی اچ پی 97 00:04:37,260 --> 00:04:41,640 هنوز هم در دسترس هستند، بنابراین ما اگر داشته باشد، اگر دیگری، دیگری، سوئیچ و درخواست 98 00:04:41,640 --> 00:04:42,240 روده بزرگ علامت. 99 00:04:42,240 --> 00:04:45,890 سوئیچ حفظ انعطاف آن را به عنوان در پی اچ پی بود، اما همه این شما 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 بنابراین در حال حاضر ما بسیاری از دانش مرتب سازی بر پایه جاوا اسکریپت از اصول 104 00:04:55,880 --> 00:05:01,800 فقط به خاطر داشتن بسیار کمی دانش حال حاضر در مورد C و PHP. 105 00:05:01,800 --> 00:05:03,670 >> چه در مورد توابع در جاوا اسکریپت؟ 106 00:05:03,670 --> 00:05:08,199 خب، شبیه به پی اچ پی تابع است هر معرفی با کلمه کلیدی عملکرد. 107 00:05:08,199 --> 00:05:10,740 به شما می گویند تابع، و سپس شما شروع به تعریف تابع خود را. 108 00:05:10,740 --> 00:05:12,531 کمی متفاوت چه خبر در مورد جاوا اسکریپت، 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 که من در اینجا ساخته ایم. 116 00:05:33,120 --> 00:05:35,710 اما اجازه دهید فقط یک نگاه در چه جاوا اسکریپت ساده 117 00:05:35,710 --> 00:05:37,850 تابع ممکن است مانند نگاه کنید. 118 00:05:37,850 --> 00:05:40,610 >> بنابراین من جلوتر رفته و باز کردن IDE CS50 من 119 00:05:40,610 --> 00:05:43,690 و من در حال حاضر اجرا آپاچی برای شروع سرور من در حال اجرا. 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 فقط یک دسته از دکمه است. 123 00:05:52,090 --> 00:05:55,291 و من ادعا در بالای در اینجا که این بخش جاوا اسکریپت است 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 در تمام فایل های منبع جاوا اسکریپت. 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 از تگ اسکریپت به پیوند در فایل. 132 00:06:14,440 --> 00:06:18,660 بنابراین من نوشته شده است هر جاوا اسکریپت به طور مستقیم به این فایل، 133 00:06:18,660 --> 00:06:21,790 اما من در کشیده ام همه جاوا اسکریپت من به طور جداگانه نوشته شده است. 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 ما را در اینجا تگ هدر برای توابع و سپس یک دکمه. 137 00:06:32,655 --> 00:06:35,530 من یک ورودی است که یک دکمه نوع است، و ظاهرا وقتی روی آن کلیک کنید I، 138 00:06:35,530 --> 00:06:38,130 من قصد دارم به برخی پاسخ تابع تاریخ هشدار. 139 00:06:38,130 --> 00:06:41,792 و این است که چگونه ما از می توانید مخلوط کردن یک کمی از جاوا اسکریپت و HTML. 140 00:06:41,792 --> 00:06:44,500 آنها در واقع بسیار خوبی بازی با هم، و بنابراین ظاهرا که 141 00:06:44,500 --> 00:06:48,730 من بر روی این دکمه کلیک کنید، من قصد دارم برخی از تاریخ تابع هشدار تماس بگیرید. 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 است، که فایل جاوا اسکریپت که من 147 00:07:03,850 --> 00:07:07,370 نوشته است که این تابع اول ما قصد داریم به نگاهی. 148 00:07:07,370 --> 00:07:11,630 همانطور که می بینید، من شروع جاوا اسکریپت من عملکرد همراه با عملکرد کلید واژه، 149 00:07:11,630 --> 00:07:14,560 من و این یکی یک داده ام نام و نام خانوادگی، آن را تاریخ هشدار نامیده می شود. 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 و واقعا جاوا اسکریپت است که بزرگ است که نمی شود که ما 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 کپسوله تاریخ و زمان فعلی. 157 00:07:35,470 --> 00:07:39,100 من ذخیره سازی که در یک متغیر که من ظاهرا رفتن به هشدار تاریخ جاری است. 158 00:07:39,100 --> 00:07:41,300 >> خب، چه می کند هشدار نگاه تاریخ فعلی مانند؟ 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 و من روی آن کلیک کنید و به دنبال چه آن را انجام داد، آن هشدار داده است. 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 وقتی که من این دکمه کلیک کنید، آن بالا میآید یک پیام هشدار به من. 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 که متفاوت از پی اچ پی، فقط یک کمی از نحو جدید 170 00:08:19,110 --> 00:08:22,500 که همراه با کار با جاوا اسکریپت. 171 00:08:22,500 --> 00:08:24,650 >> آرایه ها در جاوا اسکریپت بسیار ساده. 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 کاملا مشروع جاوا اسکریپت. 177 00:08:36,960 --> 00:08:42,500 یکی که تمام اعداد صحیح، و یکی که است مخلوط کردن انواع داده های مختلف. 178 00:08:42,500 --> 00:08:45,020 >> چیزی بسیار متفاوت چه خبر در جاوا اسکریپت، هر چند؟ 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 در اینجا در زمینه جاوا اسکریپت. 183 00:08:55,670 --> 00:08:59,100 در حال حاضر جاوا اسکریپت است که توانایی رفتار به عنوان یک برنامه نویسی شی گرا 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 می تواند بسیار چالش برانگیز را به یاد جاوا اسکریپت خود را به عنوان اولین برنامه 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 در 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 از نوع هربی ماشین ساختار. 207 00:10:10,080 --> 00:10:13,730 و پس از آن من می توانم چیزی می گویند مانند herbie.year برابر 1،963، 208 00:10:13,730 --> 00:10:15,850 و herbie.model برابر سوسک. 209 00:10:15,850 --> 00:10:17,000 این خوب است. 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 بسیار شبیه به خواص بودن اساسی برای اشیاء جاوا اسکریپت. 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 اگر شما فکر می کنم در مورد ساختار، عملکرد 223 00:11:02,020 --> 00:11:05,720 که در داخل آن تعریف تعریف آکولاد از ساختار. 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 درست مثل ما نمی توانیم سال یا مدل می گویند مستقل از ساختار در 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 پس از آن که نقطه مرتب سازی بر اپراتور دوباره دلالت 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 و بنابراین ما شروع به دیدن برخی از این در زمینه جاوا اسکریپت. 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 صحبت کردیم پر کردن از پیتزا استفاده کرد. 249 00:12:29,180 --> 00:12:31,180 و بنابراین ما یک آرایه حال نام پیتزا، و ما 250 00:12:31,180 --> 00:12:36,670 پنیر به حال یک کلید بود و $ 8.99 بود ارزش، و سپس پپرونی یک کلید بود، 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 سوسک. 258 00:12:58,140 --> 00:13:01,770 >> و در اینجا توجه کنید که من با استفاده از نقل قول تنها در جاوا اسکریپت. 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 زمانی که شما در حال نوشتن جاوا اسکریپت، شما فقط استفاده از نقل قول تکی. 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 یک برای هر حلقه که ما اجازه می دهد به تکرار بیش از همه از ارزش کلیدی 265 00:13:22,730 --> 00:13:25,270 جفت از انجمنی آرایه، چرا که ما 266 00:13:25,270 --> 00:13:29,050 این توانایی به تکرار ندارد از طریق 0، یک، دو، سه، چهار، 267 00:13:29,050 --> 00:13:30,710 و غیره؟ 268 00:13:30,710 --> 00:13:35,010 جاوا اسکریپت چیزی بسیار مشابه، اما آن را برای هر حلقه به نام نیست، 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 اما همه من در اینجا انجام است تکرار از طریق تمام کلید ها از جسم من. 273 00:13:53,850 --> 00:13:56,070 و داخل در اشکال مختلف ارتودنسی وجود دارد، من می خواهم 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 کلیدی در شی، من استفاده از Object براکت 279 00:14:17,240 --> 00:14:19,340 کلید در داخل حلقه است. 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 در و از با بسیار خاص آرایه، که ما را در اینجا، هفته آرایه. 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 و من می خواهم به حال تکرار از طریق این آرایه، 288 00:14:50,530 --> 00:14:53,090 چاپ کردن اطلاعات است. 289 00:14:53,090 --> 00:14:58,780 اگر من استفاده از یک حلقه برای در برای چاپ کردن اطلاعات، 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 چاپ در جاوا اسکریپت. 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 >> خوب، پس ما اینجا هستیم تماس در پنجره مرورگر من، 298 00:15:16,850 --> 00:15:19,410 و من قصد دارم برای باز کردن تا ابزار توسعه دهنده من. 299 00:15:19,410 --> 00:15:22,290 باز هم، من فقط ضربه F12 برای باز کردن ابزار توسعه است. 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 و ما را به اجازه خواهد داد اطلاعات را چاپ کنید، 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 با این video-- مرتبط است که فقط برای در حلقه 309 00:15:50,380 --> 00:15:52,610 که ما دیدیم فقط یک دوم پیش در اسلاید. 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 چرا که من یک برای در حلقه استفاده می شود. 315 00:16:05,180 --> 00:16:10,670 و در داخل بدنه حلقه، من فقط چاپ کلید اعتراض نیست. 316 00:16:10,670 --> 00:16:18,600 اما اگر در حال حاضر کنسول را پاک، و من تغییر برای آزمون، و چهار نفر از آزمون 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 به طوری که اختلاف بین دو A برای در حلقه، که چاپ 323 00:16:36,930 --> 00:16:43,410 فقط کلیدهای اگر شما فقط با استفاده از کلید داخل بدن از حلقه، 324 00:16:43,410 --> 00:16:46,850 و یک حلقه برای، که چاپ کردن مقادیر در صورت استفاده از فقط 325 00:16:46,850 --> 00:16:48,870 کلید در داخل بدنه حلقه. 326 00:16:48,870 --> 00:16:52,380 >> همه حق است، چگونه ما در حال حاضر شروع الحاق رشته ها و شاید مخلوط کردن 327 00:16:52,380 --> 00:16:57,220 برخی از متغیرهای با الحاق ما قادر به انجام در PHP بودند؟ 328 00:16:57,220 --> 00:16:59,410 خب، ما بسیار آشنا هستید با این از پی اچ پی. 329 00:16:59,410 --> 00:17:04,109 این است که چگونه ما آن را با استفاده از انجام عملگر نقطه برای الحاق رشته ها. 330 00:17:04,109 --> 00:17:06,260 در جاوا اسکریپت، هر چند، ما در واقع استفاده از چیزی 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 حالا که اپراتور به علاوه استفاده می شود به الحاق رشته ها و اضافه کردن شماره 356 00:18:16,260 --> 00:18:19,550 با هم، جاوا اسکریپت است به بهترین حدس خود 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 این روز فقط متنی طولانی، که می تواند 0، یک، دو، سه، چهار، پنج، شش، 360 00:18:29,340 --> 00:18:32,060 و سپس آن را فقط الحاق که و سپس یکی ملحق شوند. 361 00:18:32,060 --> 00:18:35,020 آن را نمی واقع آنها را هم اضافه کنید. 362 00:18:35,020 --> 00:18:37,320 و به این ترتیب این زبان ها، پی اچ پی و جاوا اسکریپت، 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 آنها هنوز هم انواع زیر کاپوت داشته باشد. 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 گفتن جاوا اسکریپت، توسط راه، این درمان به عنوان یک عدد صحیح، 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 شما می توانید بر روی نتیجه معکوس اگر شما دقیق نیست. 376 00:19:11,220 --> 00:19:18,285 خوب اگر ما تماس پاپ را به IDE، من رفتن به روشن کردن کنسول من دوباره، 377 00:19:18,285 --> 00:19:20,660 و من قصد دارم به رشته کلیک کنید ساخت نسخه دو، که 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 در واقع، همه چیز را در جاوا اسکریپت است که در واقع یک شی. 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، نوع مانند تصور ما از ظاهر کردن 396 00:20:08,480 --> 00:20:11,110 از یک پشته، اگر شما به خاطر از ویدئو پشته ما، 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، آن را تکه کردن 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 فقط جاوا اسکریپت این در ساخته شده است مفهوم یک نقشه برداری که می تواند استفاده شود. 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 آن را به نام عدد رده، و آن را به پنج همه چیز در آن، یک، دو، سه، چهار، 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 آنچه من می توانم انجام دهید فقط استفاده از یک حلقه برای VAR من برابر با 0، من کمتر از 424 00:21:42,520 --> 00:21:47,390 یا برابر با 4، من علاوه، به علاوه، و پس از آن هر عدد دو برابر شود. 425 00:21:47,390 --> 00:21:49,580 اما من همچنین می توانید چیزی شبیه به این است. 426 00:21:49,580 --> 00:21:53,420 من می توانم بگویم عدد رده قبلا یک دو سه چهار پنج، 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 این در حال حاضر به نظر می رسد عدد رده مانند، دو، چهار، شش، هشت، 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 در خط هفت را از طریق 13، من انجام یک کار فانتزی کمی در اینجا، 455 00:23:28,780 --> 00:23:32,240 اما من فقط چاپ آنچه در حال حاضر در آرایه. 456 00:23:32,240 --> 00:23:36,580 سپس بر روی خط 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 >> بنابراین یک موضوع بزرگ به بحث در مورد در جاوا اسکریپت مفهوم یک رویداد است. 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 و جاوا اسکریپت است قابلیت پشتیبانی از چیزی 470 00:24:17,460 --> 00:24:21,760 به نام یک event handler که یک تابع است که 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 که ما در مورد اچ تی ام ال در صحبت نمی این ویدئو را برای چیزی شبیه به کلیک بر روی 479 00:24:45,170 --> 00:24:50,540 و یا بر روی شناور و یا در بار، همه این وقایع 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 اما این است که در آن ویژگی در کلیک ظاهرا بخشی از تگ HTML است. 486 00:25:11,170 --> 00:25:15,220 بنابراین ظاهرا که تعریف می کنم چه در داخل آن صفت، 487 00:25:15,220 --> 00:25:18,590 آن را به برخی از جاوا اسکریپت تابع است که به این رویداد واکنش نشان 488 00:25:18,590 --> 00:25:24,360 احتمالا از کلیک کردن بر روی دکمه را فشار دهید یک یا دو. 489 00:25:24,360 --> 00:25:28,580 >> چه نوع سرد است در این مورد ما می توانید یک رویداد عمومی ارسال. 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 ما نام رویداد هشدار تماس بگیرید. 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 بنابراین در حال حاضر در جداگانه من فایل جاوا اسکریپت، من ممکن است 506 00:26:15,570 --> 00:26:17,420 برای پیدا کردن این تابع نام هشدار، که 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 ماشه برابر رویداد عنصر منبع نقطه. 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 شود چه چیزی در بین کسانی که در تگ را فشار دهید. 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 است که فایل جاوا اسکریپت که در آن من این تابع تعریف کرده اند. 522 00:27:06,517 --> 00:27:08,558 و به عنوان شما می توانید آن را ببینید، تقریبا دقیقا چه 523 00:27:08,558 --> 00:27:10,230 ما فقط بر روی اسلاید یک ثانیه قبل دیدم. 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 باشه. 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 آنها هر دو نام هشدار رویداد، اما این شی رویداد 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 ما فقط با تکیه بر چه جاوا اسکریپت 536 00:27:48,220 --> 00:27:53,772 برای ما انجام است، که ایجاد می کند که مرتب کردن بر اساس شی رویداد از طرف ما. 537 00:27:53,772 --> 00:27:56,730 خیلی بیشتر به جاوا اسکریپت از وجود دارد چیزی که ما در این فیلم تحت پوشش ام، 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 من داگ لوید هستم. 542 00:28:05,000 --> 00:28:07,010 این CS50 است. 543 00:28:07,010 --> 00:28:09,181