خلاصه مطالب قسمت 1 تا 5
-----------------------------------------
نکته : در یک صفحه ی وب در ابتدا یک سری درخواست از طریق مروگر میاد و به سمت سرور امون ارسال میشود و سرور بعد از پردازش هایی که انجام میدهد یک بسته از کدهای html و css و js به سمت مرورگر ما ارسال میکند و اجرای اونها در سمت کلاینت بر عهده مرورگر هستش
* جاوااسکریپت در ابتدا با سه هدف انیمشنها و تطبیق / تغیر محتوا و اعتبار سنجی فرمها ایجاد شده است *
ما به طور کلی دو نوع زبان داریم ۱- زبانهای برنامه نویسی ۲- زبانهای نشانه گزاری
۱- زبانهای برنامه نویسی : زبان هایی هستند که قابلیت تصمیم گیری و تصمیم سازی و محاصبات ریاضی دارند و به طور کلی به دو دسته تقسیم میشوند
هر زبان برنامه نویسی که میخواد اجرا بشود در ابتدا باید بیاد و به زبان کامپیوتر تبدیل شود که این زبان کامپیوتر زبانهای صفر و یک اسمبلی و سی هستند و اکثر زبانهای برنامه نویسی در ابتدا باید بیان و تبدیل بشوند به یکی از این زبان ها
زبانهای کامپایلی : به تبدیل شدن زبان برنامه نویسی مورد نظر ما به زبان سی یا زبان سطح پایین میگویند که در این زبانها ابتدا کد نوشته میشود و بعد به طور کامل کامپایل میشود و نتیجه این کامپایل در یک فایل ذخیره میشود و ما از اون استفاده میکنیم و خطاها در زبان کامپایل پیدا میشوند و ما قبل از این که این خطا به کاربرمون برسه متوجه میشویم و میتونیم اون رو اجرا کنیم
زبانهای تفسیری / اسکریپتی : در این نوع زبانها هربار که برنامه ما اجرا میشود کدهای ما تفسیر میشوند هر بار کدی که مینویسیم میاد و تفسیر میشود و چون این تفسیر در خود برنامه اجرا میشود در اجرا نسبت به قبلیها کندتر هستند
و مقدار رم بیشتری رو هم استفاده میکنند و جاوااسکریپت جزو این زبان هستش در این نوع زبانها خطاهای ما موقعی معلوم میشوند که اون قسمت از کدمون میاد و اجرا میشود
برای توسعه وب سایت معمولا زبانهای تفسیری ترجیح داده میشوند مثل php java script
۲- زبانهای نشانه گزاری : زبان هایی هستند که کارهای عملیاتی و محاسبات خاص رو نمیتونن بیان و انجام بدهند و فقط میان و داده هارو نشان گزاری میکنن مثل HTML XML
دو سبک مختلف برنامه نویسی یا ۲ پارادایم برنامه نویسی : ۱ - برنامه نویسی شی گرا ۲ - برنامه نویسی تابعی
platform : بستری که نرم افزارهای دیگر میتوانند بر روی آنها اجرا شوند در زبان جاوااسکریپت هم ما برای اجرای کد هامون نیاز به این داریم که از این سکوها بیایم و استفاده بکنیم که این پلتفرمهای جاوااسکریپتی برای اجرای برنامههای ما مرورگرها و موتورهای جاوااسکریپتی هستند
موتورهای جاوااسکریپتی : در واقع ماشینهای مجازی هستند که استاندارهای اکما اسکریپت رو میان و اجرا و پردازش میکنند مثل موتور V۸
چهارچوپهای کلی جاوااسکریپت :
۱- statements : به هر خط کد در جاوا اسکریپت که قابلیت اجرا شدن رو داشته باشه میگویند
۲- Expressions : هنگامی که ما میخایم بیایم و یک عبارت شرطی رو بررسی بکنیم به اون عبارت شرطی ما میگویند
۳- Assignments : وقتی ما میخایم بیایم و یک چیزی رو در جاوااسکریپت انتصاب بدهیم از این نوعها استفاده میکنیم
۴- code blocks : به بلاکهای کدهامون میگویند مثل توابع امون که یک بلاک مشخص میشوند { }
۵- Comments : کد هایی که وجود دارند ولی اجرا نمیشوند که معمولا توضیحاتی هستند برای بالا بردن خوانایی
۶- values : مقادیر مختلف که در یک زبان برنامه نویسی قابلیت تعریف دارند
۷- operators : عملگرد هایی هستند که در هر زبان برنامه نویسی استفاده میشوند مثل مقایسه کردنها و ..’’
۸- keywords : یک سری کلمات کلیدی که با استفاده از اونها کدهامون رو تعریف میکنیم برای مثال function let var
syntax : به نحوه نگارش کدها در هر زبان برنامه نویسی میگویند که کد چطوری شروع و پایان میپزیرد و اگر ما بیایم و اون هارو رعایت نکنیم اصطلاحا دچار سینتکس ارور میشویم
نکته Vs : استفاده از copy path برای اجرا با کلیک راست نرم افزار vscode یک کد ادیتور هستش که با استفاده از افزونه هاش که با جی اس نوشته میشوند به شدت قدرت مند هستش
نکته : در یک صفحه ی وب در ابتدا یک سری درخواست از طریق مروگر میاد و به سمت سرور امون ارسال میشود و سرور بعد از پردازش هایی که انجام میدهد یک بسته از کدهای html و css و js به سمت مرورگر ما ارسال میکند و اجرای اونها در سمت کلاینت بر عهده مرورگر هستش
* جاوااسکریپت در ابتدا با سه هدف انیمشنها و تطبیق / تغیر محتوا و اعتبار سنجی فرمها ایجاد شده است *
استانداردهای دیگه اکما اسکریپت
1 - java script 2 - js cript 3 - action script
ما به طور کلی دو نوع زبان داریم ۱- زبانهای برنامه نویسی ۲- زبانهای نشانه گزاری
۱- زبانهای برنامه نویسی : زبان هایی هستند که قابلیت تصمیم گیری و تصمیم سازی و محاصبات ریاضی دارند و به طور کلی به دو دسته تقسیم میشوند
هر زبان برنامه نویسی که میخواد اجرا بشود در ابتدا باید بیاد و به زبان کامپیوتر تبدیل شود که این زبان کامپیوتر زبانهای صفر و یک اسمبلی و سی هستند و اکثر زبانهای برنامه نویسی در ابتدا باید بیان و تبدیل بشوند به یکی از این زبان ها
زبانهای کامپایلی : به تبدیل شدن زبان برنامه نویسی مورد نظر ما به زبان سی یا زبان سطح پایین میگویند که در این زبانها ابتدا کد نوشته میشود و بعد به طور کامل کامپایل میشود و نتیجه این کامپایل در یک فایل ذخیره میشود و ما از اون استفاده میکنیم و خطاها در زبان کامپایل پیدا میشوند و ما قبل از این که این خطا به کاربرمون برسه متوجه میشویم و میتونیم اون رو اجرا کنیم
زبانهای تفسیری / اسکریپتی : در این نوع زبانها هربار که برنامه ما اجرا میشود کدهای ما تفسیر میشوند هر بار کدی که مینویسیم میاد و تفسیر میشود و چون این تفسیر در خود برنامه اجرا میشود در اجرا نسبت به قبلیها کندتر هستند
و مقدار رم بیشتری رو هم استفاده میکنند و جاوااسکریپت جزو این زبان هستش در این نوع زبانها خطاهای ما موقعی معلوم میشوند که اون قسمت از کدمون میاد و اجرا میشود
برای توسعه وب سایت معمولا زبانهای تفسیری ترجیح داده میشوند مثل php java script
۲- زبانهای نشانه گزاری : زبان هایی هستند که کارهای عملیاتی و محاسبات خاص رو نمیتونن بیان و انجام بدهند و فقط میان و داده هارو نشان گزاری میکنن مثل HTML XML
دو سبک مختلف برنامه نویسی یا ۲ پارادایم برنامه نویسی : ۱ - برنامه نویسی شی گرا ۲ - برنامه نویسی تابعی
برنامه نویسی شی گرا : هر چیزی که در دنیای واقعی وجود دارد در دنیای مجازی هم از اون شی استفاده کرد برای ایجاد یک شی در زبانهای برنامه نویسی از ساختار کلاس استفاده میکنیم تا بتونیم اشیا امون رو به وجود بیاریم هر کلاس از دو بخش اصلی
1 - property or state : مثل اسم سن رنگ و جنسیت که میان و در این دسته قرار میگیرند
2 - behaviors : مثل راه رفتن نوشیدن مطالعه کردن و غذا خوردن
برنامه نویسی تابعی : یک سری ورودیها دارد که روی اون ورودیها یکسری پردازش انجام میدهد و یک خروجی رو به ما میدهد و کلن ما از توابع برای کد نویسی امون میایم و استفاده میکنیم
حال ما بر اساس اون کلاسی که داریم میایم و یک نمونه از اون شی رو ایجاد میکنیم
platform : بستری که نرم افزارهای دیگر میتوانند بر روی آنها اجرا شوند در زبان جاوااسکریپت هم ما برای اجرای کد هامون نیاز به این داریم که از این سکوها بیایم و استفاده بکنیم که این پلتفرمهای جاوااسکریپتی برای اجرای برنامههای ما مرورگرها و موتورهای جاوااسکریپتی هستند
موتورهای جاوااسکریپتی : در واقع ماشینهای مجازی هستند که استاندارهای اکما اسکریپت رو میان و اجرا و پردازش میکنند مثل موتور V۸
چهارچوپهای کلی جاوااسکریپت :
۱- statements : به هر خط کد در جاوا اسکریپت که قابلیت اجرا شدن رو داشته باشه میگویند
۲- Expressions : هنگامی که ما میخایم بیایم و یک عبارت شرطی رو بررسی بکنیم به اون عبارت شرطی ما میگویند
۳- Assignments : وقتی ما میخایم بیایم و یک چیزی رو در جاوااسکریپت انتصاب بدهیم از این نوعها استفاده میکنیم
۴- code blocks : به بلاکهای کدهامون میگویند مثل توابع امون که یک بلاک مشخص میشوند { }
۵- Comments : کد هایی که وجود دارند ولی اجرا نمیشوند که معمولا توضیحاتی هستند برای بالا بردن خوانایی
۶- values : مقادیر مختلف که در یک زبان برنامه نویسی قابلیت تعریف دارند
۷- operators : عملگرد هایی هستند که در هر زبان برنامه نویسی استفاده میشوند مثل مقایسه کردنها و ..’’
۸- keywords : یک سری کلمات کلیدی که با استفاده از اونها کدهامون رو تعریف میکنیم برای مثال function let var
syntax : به نحوه نگارش کدها در هر زبان برنامه نویسی میگویند که کد چطوری شروع و پایان میپزیرد و اگر ما بیایم و اون هارو رعایت نکنیم اصطلاحا دچار سینتکس ارور میشویم
نکته Vs : استفاده از copy path برای اجرا با کلیک راست
اجرا جاوااسکریپت در مرورگر و نمایش خروجی
۱- استفاده از تابع innerHTML
document.getElementById("nameId|).innerHTML = " نوشته ما "
۲- استفاده از تابع write
document.write( " نوشته " )
در هنگام استفاده از این تابع باید حواسمون باشد که اگر ما اومده باشیم و فایل جاوااسکریپتی مون رو به صورت ماژولار به پروژه امون اضافه کرده باشیم و این تابع رو در آن به کار ببریم بعد از رندر کامل صفحه و اجرای کدهای html این تابع باعث پاک شدن کل فایلهای html جایگزین کردن آن میشود
۳- استفاده از تابع alert
window.alert(" ")
alert(" ")
قبل از این که اون رندر صفحه امون بیاد و انجام بشه و کدهای html امون اجرا بشه میاد و نمایش داده میشود
۴- consloe
به ما دسترسی به کنسول مرورگرمون میدهد
console.log(" ")
۵- onclick
متغیرها و انواع دادهها ( Variables & data type )
متغیر یک container هست که میایم و در داخل آن یک سری انتصابات رو انجام میدهیم
قوانین نام گزاری متغیرها :
۱- نمیتواند با عدد شروع شود
۲- نامهای متغیر case sensitive هستش یعنی به حروف بزرگ و کوچیک حساس هستش
۳- از کلمات رزروی در نام متغیر نمیتونیم بیایم و استفاده بکنیم
نکته : برای تعریف متغیرها از کلمات کلیدی var و let استفاده میکنیم و میتوانیم دو تا متغیر رو در یک statement تعریف کنیم
انواع دادهها data typeها
boolean number string array object null undefined
object { key1 : value1 , key2 : value2} /// boolean = ture & false
array [ value ... ] /// undefined نا مشخص نوع اون مشخص نشده است
نکته : جاوا اسکریپت یک زبان Types are Dynamic هستش که میاد و اجازه میدهد وقتی ی بار مقدار دهی شد دوباره هم بیاد و مقدار دهی بشود
var x; x=5; x=" emad ";
به عملیات چسباندن دو تا رشته به هم دیگه concat می گویند در جمع کردن دو تا متغیر اگر یکی از اونها رشته و دیگری عددی باشد در این عملیات مقدار عددی هم تبدیل به رشته میشود
در این جا ترتیب خیلی مهم هستش که اول عدد میاد یا رشته
var number1 = 10 ; var number2 = 5 ; var family = "Dadkhah" ;
var sum1 = number1 + number2 + family ;
console.log(sum1); ====> 15Dadkhah که در اصل در این جا عمل کانتک انجام داد
var sum2 = family + number1 + number2 ;
console.log(sum1); ====> Dadkhah105 ترتیب نوشتن این عملکردها برای ما مهم هستش
console.log(typeof sum1);
console.log(typeof number1);
معرفی تابع typeof : از این تابع برای مشخص کردن نوع مقادیر امون میایم و استفاده میکنیم
مقایسه و تفاوت سه تا مفهوم null & Empty & undefined :
undefined : هنوز هیچ مقداری به آن داده نشده و هنوز مقدار و نوع آن تعریف نشده هستش
Empty : نوع اش مشخص هستش ولی هیچ مقداری داخلش نیست
null : هیچ مقداری رو ندارد یکی از کاربرداش موقعی هستش که یک تابع در عملکرد خودش خطا دارد و مقدار خالی یا null رو بر می گردوند
مقدارهای null و undefined از نظر مقداری باهم برابر هستند و مقدار هیچی رو دارند اما از لحاظ دیتا تایپها مقدار null دیتا تایپ آن object هستش
var test10; // undefined
test10 = []; // Empty
test10 = 10;
test10 = null; // null
نکته
null === undefined // false
null == undefined // ture