[موسیقی] داگ لوید: بنابراین در حال حاضر ما هستیم جوانب مثبت در برنامه نویسی تحت وب، درست است؟ و ما چند تحت پوشش زبان در فیلم فردی است. و اکنون اجازه دهید یک، جاوا اسکریپت است. اول خبر خوب، جاوا اسکریپت برنامه نویسی مدرن است زبان بسیار شبیه به PHP که نحو از C مشتق شده است، به طوری که یک جای خوب برای شروع است. این مورد به عنوان قدیمی به عنوان پی اچ پی، نیز هست، از حدود 20 سال بوده است. آن را در اطراف اختراع شد همان زمان به عنوان پی اچ پی. و جاوا اسکریپت است که در واقع بسیار اساسی به تجربه کاربر از وب است. در واقع، وجود دارد سه زبان که من می گویند از را تشکیل می دهند تجربه کاربر از تعامل با وب سایت، HTML، CSS و جاوا اسکریپت. و بنابراین در حال حاضر صحبت کنیم کمی در مورد جاوا اسکریپت. خبر بد، هر چند، با جاوا اسکریپت است که از آن مجموعه بسیاری از قوانین برای خود، و سپس آن را تجزیه. و جاوا اسکریپت در واقع می تواند نوع چالش کشیدن برای یادگیری، چرا که آن را بر خلاف C و PHP، که بسیار ساختار و قوانین بسیار سفت و سخت چه کارهایی می تواند کار. جاوا اسکریپت است نوع از بدست تا انعطاف پذیر که شاید همه چیز به رفتن نیست کار راه ما آنها را به انتظار، و شاید ما واقعا نمی توانند یاد بگیرند اولین زبان برنامه نویسی ما به عنوان یک جاوا اسکریپت. بنابراین شاید به این دلیل آن را نمی کند خود را هر گونه مقررات تعیین می کنند، و آن را واقعا نمی اجرای برنامه نویسی عادات خوب است. اما در حال حاضر ما امیدوارم توسعه یافته ام برخی از عادات خوب برنامه نویسی، و بنابراین ما شروع به تاخت و تاز کردن می توانید به جاوا اسکریپت یک کمی. برای ارسال جاوا اسکریپت، شبیه به باز کردن یک فایل با پسوند C نقطه C و یا یک فایل PHP با پسوند دات پی اچ پی، همه ما نیاز به انجام است باز کردن یک فایل با نقطه جی اس پسوند. ما لازم نیست که به هر گونه خاص جداکننده مثل ما در PHP است. این نوع از زاویه براکت علامت سوال PHP که ما به از آن، راه استفاده می شود ما مرورگر ما بگویید که چیزی است که ما جاوا اسکریپت است از جمله آن را در یک تگ HTML، و ما کمی در مورد دید چگونه به انجام این در یک لحظه. چیز دیگری که باعث می شود جاوا اسکریپت مختلف، هر چند، این است که آن را اجرا می سمت سرویس گیرنده. بنابراین با PHP یاد می آورند که ما هرگز نمی تواند واقعا پی اچ پی، که زیر خط یک وب سایت. اگر ما همیشه مشاهده شده صفحه منبع، ما تنها اچ تی ام ال که ببینید تولید شده توسط که پی اچ پی. اما جاوا اسکریپت سمت کلاینت اجرا می شود. جاوا اسکریپت خود را اجرا بر روی کامپیوتر شما. و به همین دلیل شما می توانید انجام همه چیز دوست دارید اضافه کنید مسدود کننده. درست؟ مسدود کردن آگهی است که معمولا توسط انجام کشتن تمام از جاوا اسکریپت است که در حال اجرا در یک وب سایت خاص. و به دلیل آن که به اجرا در سمت سرویس گیرنده دستگاه شما، شما فقط می توانید جلوگیری از جاوا اسکریپت برای اجرای کامل. این همچنین بدان معنی که هنگام استفاده از یک وب سایت که شامل جاوا اسکریپت، شما باید برای ارسال منبع جاوا اسکریپت کد عنوان بخشی از پاسخ HTTP خود را به مشتری زمانی که آنها آن را درخواست کنید. و بنابراین شما ممکن نیست مایل به استفاده از جاوا اسکریپت به انجام کارهای واقعا حساس مانند انتقال اطلاعات در مورد رمزهای عبور کاربران به عقب و چهارم، چرا که آنها در واقع هستید رفتن به دریافت تمام کد منبع، نه فقط HTML است که تولید، مانند می شود که در مورد مثلا PHP. پس چگونه ما عبارتند از جاوا اسکریپت در HTML ما برای شروع با؟ خب، شبیه به CSS، در واقع، مرتب کردن بر اساس چگونه ما آن را در اینجا انجام شده است. با استفاده از CSS ما برچسب ها سبک. و در داخل از آن برچسب های سبک، ما می توانیم شیوه نامه CSS را تعریف کنیم. به طور مشابه با جاوا اسکریپت می توانید برای باز ما برچسب ها اسکریپت، یکی دیگر از تگ HTML ما نمی بحث در مورد فیلم در HTML ما، و جاوا اسکریپت را در ارسال بین کسانی که در تگ اسکریپت. همچنین هر چند، مانند CSS، ما می تواند در خارج از فایل های CSS پیوند و کشیدن آنها را به برنامه های ما که راه. با استفاده از CSS ما همچنین می توانید، ببخشید، با جاوا اسکریپت ما همچنین می توانیم منبع مشخص صفت از تگ اسکریپت به پیوند در جاوا اسکریپت به طور جداگانه، بنابراین شما لازم نیست باید آن را در ارسال بین تگ اسکریپت، ما می توانید آن را با استفاده از لینک در که تگ اسکریپت نیز هست. و فقط به عنوان با این مورد با CSS که در آن ما توصیه می شود که آن را احتمالا شد در نفع خود را به ارسال CSS خود را در یک فایل جداگانه ای در مورد شما نیاز به آن را تغییر دهید، به طور مشابه را توصیه می کنیم که شما خود را ارسال جاوا اسکریپت در فایل های جداگانه و با استفاده از منبع برچسب ها اسکریپت نسبت به کراوات جاوا اسکریپت خود را به HTML شما، صفحه وب خود را. متغیرهای جاوا اسکریپت، ما شروع به صحبت کردن در مورد نحو در اینجا. و ما را از طریق رفتن این نوع از سرعت، چرا که ما در PHP انجام داده ام، به طوری که این همه باید بسیار آشنا باشد. بنابراین متغیرها در جاوا اسکریپت می بسیار شبیه به پی اچ پی متغیر. هیچ نوع تعیین وجود دارد، و وقتی شما معرفی یک متغیر، شما آن را پیشوند با کلید واژه var. در پی اچ پی ما چیزی را انجام دهید مثل این، علامت دلار x است. این که چگونه ما نشان داد یک متغیر، اما هیچ، ما از نوع ذکر از متغیر در همه. ما می گویند چیزی شبیه به علامت دلار x برابر 44 در PHP. اگر ما انجام شد همان چیزی که در جاوا اسکریپت، ما می گویند VAR x برابر 44. بنابراین VAR از راه ما است معرفی یک متغیر است. که شاید کمی بیشتر بصری از متغیر علامت دلار. باز هم، از آنجا که هیچ انواع داده ها، ما می تواند این کار را انجام با هر نوع داده ها، رشته ها، هر چیز دیگری تمام می شود VAR. شرطی، همه ما دوستان قدیمی از سی و پی اچ پی هنوز هم در دسترس هستند، بنابراین ما اگر داشته باشد، اگر دیگری، دیگری، سوئیچ و درخواست روده بزرگ علامت. سوئیچ حفظ انعطاف آن را به عنوان در پی اچ پی بود، اما همه این شما با در حال حاضر. و به طور مشابه با حلقه ها علاقه مندی های قدیمی از مدتی، در حالی که، و هنوز هم در دسترس برای به ما. بنابراین در حال حاضر ما بسیاری از دانش مرتب سازی بر پایه جاوا اسکریپت از اصول فقط به خاطر داشتن بسیار کمی دانش حال حاضر در مورد C و PHP. چه در مورد توابع در جاوا اسکریپت؟ خب، شبیه به پی اچ پی تابع است هر معرفی با کلمه کلیدی عملکرد. به شما می گویند تابع، و سپس شما شروع به تعریف تابع خود را. کمی متفاوت چه خبر در مورد جاوا اسکریپت، هر چند توانایی را داشته است چه یک تابع بی نام نامیده می شود. بنابراین شما می توانید توابع تعریف که یک نام ندارد. این چیزی است که ما است واقعا دیده اند، قبل. ما واقعا می خواهید استفاده از مفهوم از یک تابع بی نام در این کمی بعد ویدئو، چون آن را خواهید را حس کمی بیشتر در زمینه زمانی که ما آن را در یک وضعیت خاص را ببینید که من در اینجا ساخته ایم. اما اجازه دهید فقط یک نگاه در چه جاوا اسکریپت ساده تابع ممکن است مانند نگاه کنید. بنابراین من جلوتر رفته و باز کردن IDE CS50 من و من در حال حاضر اجرا آپاچی برای شروع سرور من در حال اجرا. و من این فایل باز به نام Home.html. و من در اینجا یک کمی زوم. و اساسا، شما می توانید ببینید Home.html فقط یک دسته از دکمه است. و من ادعا در بالای در اینجا که این بخش جاوا اسکریپت است مصالح. بنابراین یک دسته از دکمه وجود دارد در اینجا، اما چه چیزی این دکمه ها در واقع؟ خب، ما به IED من سر، و من Home.html اینجا باز کنید. در آغاز، در اینجا است که من ارتباط در تمام فایل های منبع جاوا اسکریپت. درست؟ بنابراین من anonymous.js، clock.js، من با استفاده از ویژگی منبع از تگ اسکریپت به پیوند در فایل. بنابراین من نوشته شده است هر جاوا اسکریپت به طور مستقیم به این فایل، اما من در کشیده ام همه جاوا اسکریپت من به طور جداگانه نوشته شده است. و اگر ما حرکت در اینجا، این باید همه نگاه تا حدودی آشنا با کمی از نحو جدید. ما را در اینجا تگ هدر برای توابع و سپس یک دکمه. من یک ورودی است که یک دکمه نوع است، و ظاهرا وقتی روی آن کلیک کنید I، من قصد دارم به برخی پاسخ تابع تاریخ هشدار. و این است که چگونه ما از می توانید مخلوط کردن یک کمی از جاوا اسکریپت و HTML. آنها در واقع بسیار خوبی بازی با هم، و بنابراین ظاهرا که من بر روی این دکمه کلیک کنید، من قصد دارم برخی از تاریخ تابع هشدار تماس بگیرید. و به همین ترتیب من رفتار تعریف برای همه از دکمه های دیگر که در آن صفحه home.html هستند، که ما را از بازگشت در طول این دوره از این ویدیو. اما اجازه دهید به عقب برگردد تا در اینجا و نگاهی در clock.js است، که فایل جاوا اسکریپت که من نوشته است که این تابع اول ما قصد داریم به نگاهی. همانطور که می بینید، من شروع جاوا اسکریپت من عملکرد همراه با عملکرد کلید واژه، من و این یکی یک داده ام نام و نام خانوادگی، آن را تاریخ هشدار نامیده می شود. در داخل وجود دارد، من ظاهرا ایجاد یک متغیر محلی جدید به نام تاریخ جاری است. و من قصد دارم به اختصاص برابر به یک تاریخ جدید. و ما می تواند به بسیاری از گرفتن جزئیات به آنچه به عنوان یک تاریخ است، و واقعا جاوا اسکریپت است که بزرگ است که نمی شود که ما همه چیز را در یک ویدئو را پوشش میدهد. اما کافی است که گفته، این است که برای بازگشت به یک آیتم داده که کپسوله تاریخ و زمان فعلی. من ذخیره سازی که در یک متغیر که من ظاهرا رفتن به هشدار تاریخ جاری است. خب، چه می کند هشدار نگاه تاریخ فعلی مانند؟ اجازه دهید یک نگاه فایل خود را بیش از در پنجره مرورگر. بنابراین دوباره، این دکمه این است که من به، این تابع به نام گره خورده است. و من روی آن کلیک کنید و به دنبال چه آن را انجام داد، آن هشدار داده است. این ظهور تا این نوع از جعبه گفتن من که زمان فعلی است، ظاهرا آن 4 نوامبر در 10:43:43 در صبح است. و اگر روی آن کلیک کنید من دوباره، در حال حاضر آن را چند ثانیه بعد، درست است؟ به طوری که همه این تابع انجام می دهد. وقتی که من این دکمه کلیک کنید، آن بالا میآید یک پیام هشدار به من. بنابراین واقعا نمی وجود دارد بیش از حد به توابع که متفاوت از پی اچ پی، فقط یک کمی از نحو جدید که همراه با کار با جاوا اسکریپت. آرایه ها در جاوا اسکریپت بسیار ساده. برای تعریف یک آرایه، شما با استفاده از نحو براکت که ما با از PHP آشنا هستید. و شبیه به PHP، ما همچنین می توانید انواع داده مخلوط کنید. بنابراین این آرایه، هر دو از این آرایه را کاملا مشروع جاوا اسکریپت. یکی که تمام اعداد صحیح، و یکی که است مخلوط کردن انواع داده های مختلف. چیزی بسیار متفاوت چه خبر در جاوا اسکریپت، هر چند؟ که مفهوم شی. بنابراین شاید شما از شنیده ام برنامه نویسی شی گرا. ما مقدار زیادی از آن در CS50 را انجام دهد، اما ما یک کمی از آن را انجام خواهد در اینجا در زمینه جاوا اسکریپت. در حال حاضر جاوا اسکریپت است که توانایی رفتار به عنوان یک برنامه نویسی شی گرا زبان، بلکه آن است که به خودی خود نمی منحصرا شی گرا زبان برنامه نویسی. و این بار دیگر می آید برگشت به همین دلیل من گفت، آن می تواند بسیار چالش برانگیز را به یاد جاوا اسکریپت خود را به عنوان اولین برنامه زبان، به دلیل آن را نمی کند واقعا مناسب یک الگوی خاص است. C از سوی دیگر است زبان برنامه نویسی تابعی. اگر ما می خواهیم، ​​توابع مرتب کردن بر اساس مرد رئیس بزرگ، درست است؟ آنها دیکته کند چه هر چیز دیگری اتفاق می افتد. ما می خواهیم به تغییر متغیرها، ما توابع پاسخ. ما در انجام کارهای به توابع. اشیاء به جای، در یک اعتراض زبان گرا، اشیاء از تبدیل شدن به ستاره و توابع مرتب کردن بر اساس ثانویه است. اما یک ابژه، چیزی است که این مفهوم از یک شی است؟ خب، اگر آن کمک می کند، فکر می کنم در مورد آن در مرتب سازی بر اول مانند یک ساختار C و یا یک struct که ما در مورد قبل از به دست آوردید. در C، یک ساختار شامل تعدادی از زمینه های، و شاید ما در حال حاضر ممکن است به شروع این خواص زمینه پاسخ. اما خواص واقعا هرگز ایستاده خود به خود، درست است؟ اگر یک ساختار تعریف می کنم برای یک ماشین مثل این با این دو زمینه و یا خواص، یکی از آنها عدد صحیح برای سال از ماشین و یکی دیگر از یک شخصیت 10 رشته برای مدل از ماشین، من چیزی شبیه به این می توان گفت، من می توانم یک متغیر جدید اعلام از نوع هربی ماشین ساختار. و پس از آن من می توانم چیزی می گویند مانند herbie.year برابر 1،963، و herbie.model برابر سوسک. این خوب است. من با استفاده از زمینه ها در بستر ساختار، اما من می تواند فقط هرگز چیزی شبیه به این می گویند. درست؟ من می توانم نام درست استفاده نمی مستقل از ساختار. این نوع از چیزی اساسی است. بنابراین در بحث اساسی به ساختارهای C بسیار شبیه به خواص بودن اساسی برای اشیاء جاوا اسکریپت. اما آنچه آنها را می سازد به ویژه جالب است که اشیاء همچنین می توانید آنچه را که روش نامیده می شوند، که واقعا فقط یک کلمه فانتزی برای توابع است که ذاتی به جسم نیز می باشد. پس از آن یک تابع است که تنها می تواند به نام در زمینه یک شی. فقط یک شی است که تعریف کرده است این تابع در داخل آن، اگر شما فکر می کنم در مورد ساختار، عملکرد که در داخل آن تعریف تعریف آکولاد از ساختار. پس از آن تنها به معنی چیزی به ساختار. و آن نوع از چیزی است که ما در حال انجام است در اینجا با اشیاء و روش ها. این اساسا مانند ما در حال تعریف یک تابع است که تنها احساس می کند در شیء خاص، و بنابراین ما پاسخ که یک روش از جسم. و ما هرگز نمی توانیم پاسخ که عملکرد مستقل از جسم، درست مثل ما نمی توانیم سال یا مدل می گویند مستقل از ساختار در C برنامه نویسی کاربردی بنابراین پارادایم چیزی شبیه این. تابع و سپس زمانی که شما عبور در شی به عنوان یک پارامتر است. در برنامه نویسی شی گرا زبان، این نوع از می شود بدبختانه، و فکر می کنم در مورد ما آن را این را دوست، object.function. پس از آن که نقطه مرتب سازی بر اپراتور دوباره دلالت که برخی از اموال آن یا صفت از خود شیء را. اما این چه یک شی است زبان برنامه نویسی گرا ممکن است انجام دهید تا یک تابع پاسخ در یک روش، دوباره، که فقط یک کلمه خاص برای یک تابع است که ذاتی را به یک شی است. این چیزی است که که نحو ممکن است مانند نگاه. و بنابراین ما شروع به دیدن برخی از این در زمینه جاوا اسکریپت. شما همچنین می توانید در مورد یک شی فکر می کنم نوع مانند یک آرایه انجمنی، که ما با از PHP آشنا هستید. به یاد داشته باشید یک آرایه انجمنی اجازه می دهد تا ما به جفت کلید، به جای داشتن شاخص 0، یک، دو، سه، و غیره مانند ما در حال از C استفاده آرایه ها. آرایه های انجمنی می توانید نقشه کلمات، مانند در این ویدئو PHP، صحبت کردیم پر کردن از پیتزا استفاده کرد. و بنابراین ما یک آرایه حال نام پیتزا، و ما پنیر به حال یک کلید بود و $ 8.99 بود ارزش، و سپس پپرونی یک کلید بود، $ 9.99 ارزش بود، و به همین ترتیب. و بنابراین ما نیز می توانید در مورد فکر می کنم اعتراض مرتب کردن بر اساس شبیه به یک انجمنی آرایه. و بنابراین این نحو در اینجا یک شی جدید ایجاد هربی به نام با دو خواص داخل آن است. سال، است که اختصاص داده ارزش 1963، و مدل، که اختصاص داده رشته سوسک. و در اینجا توجه کنید که من با استفاده از نقل قول تنها در جاوا اسکریپت. شما می توانید از نقل قول تکی یا دو استفاده زمانی که شما صحبت کردن در مورد رشته ها. آن را فقط مرسوم مورد که بیشتر بار زمانی که شما در حال نوشتن جاوا اسکریپت، شما فقط استفاده از نقل قول تکی. اما من می توانم به نقل از دو در اینجا استفاده کنید، و خواهد بود که کاملا خوب است. بنابراین به یاد داشته باشید که چگونه در PHP ما این مفهوم بود یک برای هر حلقه که ما اجازه می دهد به تکرار بیش از همه از ارزش کلیدی جفت از انجمنی آرایه، چرا که ما این توانایی به تکرار ندارد از طریق 0، یک، دو، سه، چهار، و غیره؟ جاوا اسکریپت چیزی بسیار مشابه، اما آن را برای هر حلقه به نام نیست، آن را به یک حلقه برای در نامیده می شود. بنابراین اگر من برای من مثل گفت این، برای VAR کلیدی در جسم، که مرتب سازی بر اساس شبیه به گفتن برای هر چیزی به عنوان چیزی. اما همه من در اینجا انجام است تکرار از طریق تمام کلید ها از جسم من. و داخل در اشکال مختلف ارتودنسی وجود دارد، من می خواهم استفاده از شی براکت کلید مراجعه کنید به ارزش در آن محل کلید. روش دیگر، وجود دارد حتی روش دیگری. اگر من فقط تنها در مورد مراقبت ارزش ها، من می توانم برای کلید شی می گویند، و فقط کلید در داخل استفاده کنید. بنابراین برای VAR کلیدی در شی، من استفاده از Object براکت کلید در داخل حلقه است. برای VAR کلیدی شی، من می توانم فقط با استفاده از کلید در داخل حلقه، چون من فقط به طور خاص هستم صحبت کردن در مورد ارزش وجود دارد. بنابراین اجازه دهید شاید یک در تفاوت نگاه فقط به سرعت به شما نشان دهد تفاوت بین چهار در و از با بسیار خاص آرایه، که ما را در اینجا، هفته آرایه. بنابراین من باید برای پیدا کردن یک آرایه جدید که من با هفت رشته پر شده است، دوشنبه سه شنبه چهارشنبه، پنجشنبه، جمعه، شنبه، یکشنبه. و من می خواهم به حال تکرار از طریق این آرایه، چاپ کردن اطلاعات است. اگر من استفاده از یک حلقه برای در برای چاپ کردن اطلاعات، شما چه فکر میکنید من قصد دارم به دریافت کنم؟ خوب، اجازه دهید نگاهی به. و قبل از ما انتخاب بیش از به پنجره مرورگر من، فقط می دانم که console.log مرتب کردن بر اساس یکی است راه انجام یک F چاپ در جاوا اسکریپت. اما آنچه کنسول است؟ خوب، این چیزی است که ما در حال رفتن به نگاهی در حال حاضر. خوب، پس ما اینجا هستیم تماس در پنجره مرورگر من، و من قصد دارم برای باز کردن تا ابزار توسعه دهنده من. باز هم، من فقط ضربه F12 برای باز کردن ابزار توسعه است. و توجه کنید که در اینجا در بالا من کنسول رو انتخاب کردم. بنابراین این مفهوم است یک کنسول توسعه، و ما را به اجازه خواهد داد اطلاعات را چاپ کنید، نوع مانند ترمینال، اما عنوان شما بعد از کمی دید، ما همچنین می توانیم اطلاعات را در نوع به تعامل با صفحه وب ما. من قصد دارم به زوم در کمی در اینجا، و من میخوام اکنون با کلیک بر روی برای در آزمون. و چهار در test-- من نمیخواهم شما کد برای آن را نشان می دهد در حال حاضر، اما شما آن را اگر شما را کد منبع دانلود که با این video-- مرتبط است که فقط برای در حلقه که ما دیدیم فقط یک دوم پیش در اسلاید. پس من میخوام کلیک هستم که را فشار دهید، و در اینجا، در اینجا چیزی است که در چاپ کنسول، 0، یک، دو، سه، چهار، پنج، شش. من نسخه قابل چاپ نیست کردن اطلاعات در داخل آن مکان آرایه، چرا که من یک برای در حلقه استفاده می شود. و در داخل بدنه حلقه، من فقط چاپ کلید اعتراض نیست. اما اگر در حال حاضر کنسول را پاک، و من تغییر برای آزمون، و چهار نفر از آزمون من می گویم من برای حلقه استفاده به جای و چاپ کلیدی، اگر من کلیک کنید که، در حال حاضر من گرفتن عناصر واقعی در داخل جسم من و یا آرایه من در این مورد. آرایه من از روز هفته. من چاپ دوشنبه، سه شنبه چهارشنبه. به طوری که اختلاف بین دو A برای در حلقه، که چاپ فقط کلیدهای اگر شما فقط با استفاده از کلید داخل بدن از حلقه، و یک حلقه برای، که چاپ کردن مقادیر در صورت استفاده از فقط کلید در داخل بدنه حلقه. همه حق است، چگونه ما در حال حاضر شروع الحاق رشته ها و شاید مخلوط کردن برخی از متغیرهای با الحاق ما قادر به انجام در PHP بودند؟ خب، ما بسیار آشنا هستید با این از پی اچ پی. این است که چگونه ما آن را با استفاده از انجام عملگر نقطه برای الحاق رشته ها. در جاوا اسکریپت، هر چند، ما در واقع استفاده از چیزی نام اپراتور به علاوه، که شاید حتی کمی بیشتر بصری، درست است؟ ما در حال اضافه کردن یک دسته از رشته با هم. بنابراین اجازه دهید سر به عقب و ببینید چه این چاپ خواهد شد اگر ما در حال تلاش برای چاپ کردن تمام اطلاعات در هفته آرایه. خوب، پس تحت اینجا تحت الحاق رشته، من دو گزینه، ساختمان رشته V1 V2 و سپس ساختمان رشته است. و ما به همین دلیل ما را ببینید نیاز V2 در یک ثانیه. اما من میخوام با کلیک بر روی رشته V1 ساختمان، که کد ما است تنها با گرفتن یک نگاه، console.log با تمام علامت + است. بیایید ببینید اگر این چاپ از آنچه که ما انتظار می رود. روز دوشنبه 01 تعداد از هفته است، سه روز شماره 11 هفته است. خب، چه من در تلاش بود برای انجام شد وجود دارد آن را برای چاپ کردن تعداد روز دوشنبه است یک، سه شنبه روز شماره دو است. اما به نظر می رسد مثل من همیشه چاپ است. خب، چرا؟ خب، معلوم است، نگاهی دیگر نگاه در این قطعه کمی از کد است. توجه داشته باشید که ما در حال استفاده از مثبت اپراتور در دو شرایط متفاوت. و بنابراین در اینجا که در آن شاید همه چیز که ما به نوعی شده است گفت، آه، آن را بسیار بزرگ است. ما با انواع داده مقابله نیست. اما در اینجا این واقعیت است که در آن که ما از دست دادن انواع داده در واقع می توانید کمی شود از یک مشکل برای ما. حالا که اپراتور به علاوه استفاده می شود به الحاق رشته ها و اضافه کردن شماره با هم، جاوا اسکریپت است به بهترین حدس خود به آنچه به عنوان من می خواهم آن را به برای من انجام. و در این مورد، آن را حدس زده اشتباه است. این روز فقط متنی طولانی، که می تواند 0، یک، دو، سه، چهار، پنج، شش، و سپس آن را فقط الحاق که و سپس یکی ملحق شوند. آن را نمی واقع آنها را هم اضافه کنید. و به این ترتیب این زبان ها، پی اچ پی و جاوا اسکریپت، خلاصه که دور این مفهوم از انواع، شما لازم نیست که برای مقابله با آن نیست. آنها هنوز هم انواع زیر کاپوت داشته باشد. و ما می توانیم، در شرایط شبیه به این، که در واقع اهرم با گفتن چیزی مانند شاید این است که گفتن جاوا اسکریپت، توسط راه، این درمان به عنوان یک عدد صحیح، آن را به عنوان یک رشته درمان نیست، حتی هر چند که ما در حال کنار هم مخلوط رشته و اعداد صحیح است. این فقط یکی از آن چیزهایی که به نظر می رسد آنقدر بزرگ در زمینه که ما لازم نیست که مقابله با انواع دیگر، اما گاهی اوقات شما اجرا به یک وضعیت دقیقا مانند این که در آن این واقعیت است که شما نظارت بر انواع ندارد شما می توانید بر روی نتیجه معکوس اگر شما دقیق نیست. خوب اگر ما تماس پاپ را به IDE، من رفتن به روشن کردن کنسول من دوباره، و من قصد دارم به رشته کلیک کنید ساخت نسخه دو، که جایی است که من استفاده از آن تابع INT تجزیه. در حال حاضر آن چاپ اطلاعاتی که من در انتظار. روز دوشنبه تعداد روز، سه شنبه روز تعداد دو، و غیره است. بنابراین اجازه دهید در مورد توابع حرف نزنی. من قول داده ما را در مورد ناشناس صحبت توابع، و در حال حاضر زمینه ای برای این سرانجام رسید. بنابراین قبل از ما انجام این کار، اجازه دهید صحبت کنید دوباره در مورد آرایه را برای یک ثانیه. بنابراین آرایه ویژه هستند مورد یک شی. در واقع، همه چیز را در جاوا اسکریپت است که در واقع یک شی. بنابراین توابع یک حالت خاصی از یک شی، اعداد صحیح خاص هستند مورد یک شی، اما آرایه به طور خاص تعدادی از روش ها. به یاد داشته باشید چرا که آنها اشیاء هستید، آنها می توانند خواص و روش داشته باشد. آنها تعدادی از روش های که را می توان به کسانی که اشیاء استفاده می شود. یک روش وجود دارد به نام اندازه، array.size، که به بازگشت شما به عنوان شما ممکن است انتظار تعداد عناصر آرایه خود را. array.pop، نوع مانند تصور ما از ظاهر کردن از یک پشته، اگر شما به خاطر از ویدئو پشته ما، حذف آخرین عنصر از آرایه. array.push می افزاید: یک عنصر جدید به پایان یک آرایه. array.shift مرتب سازی بر اساس مانند DQ، آن را تکه کردن عنصر اول یک آرایه. اما نیز وجود دارد یکی دیگر از ویژه روش آرایه به نام نقشه. و این نوع از است مفهوم جالب. پس چه این ایده از یک نقشه است؟ شما در واقع شما این را ببینید در زبان های دیگر، و ما در حال صحبت کردن نیست در مورد مرتب کردن بر اساس کارتوگرافها نقشه در اینجا، ما در حال صحبت کردن در مورد تابع نگاشت. در زمینه ما صحبت کردن در مورد اینجا، یک نقشه یک عملیات ویژه است ما می توانید در یک آرایه انجام برای درخواست یک تابع خاص برای هر عنصر از آرایه. و بنابراین ما می گویند در این مورد، شاید array.map، و در داخل آن، ما در حال عبور به نقشه یک تابع است که ما می خواهیم به هر عنصر اعمال می شود. بنابراین این نوع مشابه با استفاده از یک حلقه به تکرار بیش از هر عنصر و اعمال خاص عمل را برای هر عنصر، فقط جاوا اسکریپت این در ساخته شده است مفهوم یک نقشه برداری که می تواند استفاده شود. و این یک زمینه بزرگ است در مورد یک تابع بی نام صحبت کنید. بنابراین اجازه دهید می گویند که ما این آرایه از اعداد صحیح. آن را به نام عدد رده، و آن را به پنج همه چیز در آن، یک، دو، سه، چهار، پنج. حالا من می خواهم به نقشه برخی تابع در این آرایه است. من می خواهم به یک تابع اعمال برای هر عنصر از آرایه. خوب، اجازه دهید بگویم که آنچه من می خواهم انجام دهید فقط دو برابر تمام عناصر. آنچه من می توانم انجام دهید فقط استفاده از یک حلقه برای VAR من برابر با 0، من کمتر از یا برابر با 4، من علاوه، به علاوه، و پس از آن هر عدد دو برابر شود. اما من همچنین می توانید چیزی شبیه به این است. من می توانم بگویم عدد رده قبلا یک دو سه چهار پنج، در حال حاضر، من شما را به دوست درخواست نقشه برداری بر روی این آرایه که در آن من می خواهم شما هر عدد دو برابر شود. و این دقیقا همان آنچه اتفاق می افتد در اینجا. اما متوجه آنچه من عبور در به عنوان آرگومان به نقشه. این یک تابع بی نام است. و متوجه من داده نشده این تابع یک نام، من فقط آن را یک لیست پارامتر داده ام. و این یک مثال است از یک تابع بی نام. ما به طور کلی، هرگز این پاسخ تابع خارج از چهار چوب از نقشه است. ما آن را به عنوان یک پارامتر تعریف به نقشه، و بنابراین ما واقعا نمی نیاز به یک نام برای آن اگر تنها چیزی که در مورد مراقبت از نقشه است و این درست تعریف وجود دارد داخل نقشه. و بنابراین این یک تابع بی نام است. ما قادر شده اند برای انجام این کار قبلا. نقشه برخی از عملکرد که قبول یک پارامتر، NUM، و آنچه را که تابع انجام می دهد است بازده NUM بار 2. و بنابراین بعد از این نقشه برداری استفاده شده است، این در حال حاضر به نظر می رسد عدد رده مانند، دو، چهار، شش، هشت، 10. و ما به پاپ بیش از من پنجره مرورگر و فقط نگاهی به این واقعا به سرعت به عنوان. بنابراین یکی دیگر از دکمه من در اینجا در صفحه اصلی به نام من دو برابر شود. و وقتی که من دوبار کلیک کنید، و آن را می گوید من قبل از آن بود، دو، سه، چهار، پنج بعد از دو، چهار، شش، هشت، 10. و اگر برگردم و دوبار کلیک کنید دوباره، دو، چهار، شش، هشت، 10. و سپس بعد از، چهار، هشت، 12، 16، و پس از آن 20. و چه هستم من در این تابع انجام می دهند؟ خب، اگر ما بیش از پاپ به IDE، و من را بالا بکشد تابع بی نام من، در اینجا در خط هفت را از طریق 13، من انجام یک کار فانتزی کمی در اینجا، اما من فقط چاپ آنچه در حال حاضر در آرایه. سپس بر روی خط 16، 17، و 18، در نقشه من وجود دارد. این جایی است که من استفاده از این دو برابر شدن تابع برای هر عنصر. و پس از آن کمی بیشتر پایین، من فقط انجام همین کار من انجام شده بود قبل از، به جز در حال حاضر من چاپ کردن محتویات آرایه پس از آن. اما من تو را اینجا انجام دادیم فقط با استفاده از یک تابع بی نام به نقشه در سراسر یک آرایه. بنابراین یک موضوع بزرگ به بحث در مورد در جاوا اسکریپت مفهوم یک رویداد است. یک رویداد چیزی است که اتفاق می افتد است فقط هنگامی که یک کاربر در تعامل با وب سایت شما صفحه، بنابراین شاید آنها چیزی کلیک کنید، و یا شاید صفحه تمام شده است در حال بارگذاری، یا شاید آنها نقل مکان کرد ماوس خود را بیش از چیزی، و یا آنها چیزی تایپ کرده اید در یک فیلد ورودی. همه این چیزها وقایع که در صفحه وب ما اتفاق می افتد. و جاوا اسکریپت است قابلیت پشتیبانی از چیزی به نام یک event handler که یک تابع است که پاسخ به یک رویداد HTML. و آنچه تابع پاسخ به تماس نیست. خوب، آن را به طور کلی فقط یک نام برای یک تابع بی نام. این یک تابع است که پاسخ به یک رویداد. و این جایی است که ما به آمده ایده اتصال توابع خاص به ویژگی HTML خاص است. ترین عناصر HTML اند پشتیبانی یک ویژگی که ما در مورد اچ تی ام ال در صحبت نمی این ویدئو را برای چیزی شبیه به کلیک بر روی و یا بر روی شناور و یا در بار، همه این وقایع پس از آن که شما می توانید توابع ارسال که در برخورد با کسانی که وقایع زمانی که این حوادث در صفحه وب خود رخ می دهد. و تا شاید HTML سایت خود بگذارید چیزی شبیه به این به نظر می رسد. و من دو دکمه در اینجا، یک دکمه را فشار دهید و دو، و در اینجا من در حال حاضر چیزی تعریف شده است، اما این است که در آن ویژگی در کلیک ظاهرا بخشی از تگ HTML است. بنابراین ظاهرا که تعریف می کنم چه در داخل آن صفت، آن را به برخی از جاوا اسکریپت تابع است که به این رویداد واکنش نشان احتمالا از کلیک کردن بر روی دکمه را فشار دهید یک یا دو. چه نوع سرد است در این مورد ما می توانید یک رویداد عمومی ارسال. و این رویداد خواهد شد ایجاد یک شی رویداد. و شی رویداد را به ما بگویید که از دو دکمه کلیک شد. در حال حاضر چگونه است که کار می کند؟ خب، ممکن است چیزی شبیه به این. بنابراین ما برای اولین بار از دکمه های ما می شود، تعریف به پاسخ به پاسخ به تماس تابع است که نامیده خواهد شد هنگامی که دکمه کلیک می شود، ما نام رویداد هشدار تماس بگیرید. و اطلاع در هر دو مورد ما عبور در این پارامتر رویداد. بنابراین ما این تابع پاسخ و یا زمانی که این تابع توسط رویداد اتفاق می افتد باعث می شود، آن را به ایجاد این شی رویداد و با تصویب آن به عنوان یک پارامتر به نام هشدار. و شی رویداد است رفتن به حاوی اطلاعات در مورد که دکمه کلیک شد. و چگونه آن را انجام دهید؟ خب، ممکن است چیزی شبیه به این. بنابراین در حال حاضر در جداگانه من فایل جاوا اسکریپت، من ممکن است برای پیدا کردن این تابع نام هشدار، که دوباره که پارامتر رویداد را می پذیرد. و پس از آن در اینجا این است که در آن من تشخیص که دکمه، باعث شد VAR ماشه برابر رویداد عنصر منبع نقطه. منبع که ایجاد چه بود این شی رویداد که در تصویب شد؟ آن را فشار دهید یک یا آن را فشار دهید دو بود؟ و پس از آن در اینجا همه من انجام چاپ trigger.innerhtml. خب، در این مورد، در این زمینه، trigger.innerhtml تنها چیزی است که است بر روی دکمه نوشته شده است. این فقط اتفاق می افتد اگر ما پرش تماس برای یک ثانیه، که شود چه چیزی در بین کسانی که در تگ را فشار دهید. از آن خواهد شد یک دکمه یا دکمه دو. و اجازه دهید یک نگاه چگونه این رویداد را نگاه اگر ما به حال آن را در عمل در حال اجرا. پس اول از همه، شما باز کردن events.js، است که فایل جاوا اسکریپت که در آن من این تابع تعریف کرده اند. و به عنوان شما می توانید آن را ببینید، تقریبا دقیقا چه ما فقط بر روی اسلاید یک ثانیه قبل دیدم. و من به رفتن صفحه اصلی اس ام اس با استفاده از شده است. و من در اینجا دکمه و دکمه دو. و من بر روی یک دکمه کلیک کنید. شما بر روی دکمه یک اگر شما کلیک، می توانید در اینجا در هشدار را ببینید. باشه. کلیک بر روی دکمه دو، شما کلیک بر روی یک دکمه دو. بنابراین هر دو دکمه را دارند همان فراخوانی تابع، درست است؟ آنها هر دو نام هشدار رویداد، اما این شی رویداد که ایجاد می شود زمانی که ما با کلیک بر روی آن را به ما می گوید که دکمه کلیک شد. ما مجبور به نوشتن دو جداگانه توابع و یا مقابله با داشتن به تصویب هر گونه اطلاعات اضافی است. ما فقط با تکیه بر چه جاوا اسکریپت برای ما انجام است، که ایجاد می کند که مرتب کردن بر اساس شی رویداد از طرف ما. خیلی بیشتر به جاوا اسکریپت از وجود دارد چیزی که ما در این فیلم تحت پوشش ام، اما داشتن این اساسی باید شما کاملا راه طولانی به همه چیز یادگیری شما باید در مورد این مطمئن شوید زبان جالب است. من داگ لوید هستم. این CS50 است.