یاد گرفتیم که یک نمونه داکیومنت HTML دارای ساختار زیر می باشد.
Document declaration tag
< html>
< head>
Document header related tags
< head>
< body>
Document body related tags
< body>
< html>
این فصل جزئیات بیشتری در مورد بخش سربرگ در HTML ارائه می دهد که به وسیله ی برچسب< head>نمایش داده می شود. برچسب< head>حاوی برچسب های مهمی می باشد که عبارتند از:< title>, < meta>, < link>, < base>,< style>, < script >, و < noscript > tags.
برچسب < title> در HTML
این برچسب برای تعیین تیتر داکیومنت HTML استفاده می شود. در زیر مثالی می بینید از ارائه ی تیتر به داکیومنت HTML.
نمونه یک
HTML Title Tag Example
Hello, World!
برچسب < meta> در HTML
این برچسب برای ارائه ی متادیتا در مورد داکیومنت HTML استفاده می شود که اطلاعاتی از قبیل انقضا صفحه، گردآورنده ی صفحه، لیست کلمات کلیدی، توصیف صفحه و غیره ارائه می دهد.
در ادامه استفاده های مهم برچسب < meta> در داکیومنت HTML ارائه شده اند
نمونه دو
HTML Title Tag Example
Hello, World!
برچسب < base> در HTML
این برچسب برای تعیین URL پایه برای همه ی URL های وابسته در صفحه استفاده می شود، که به این معناست که همه ی URL های دیگر هنگامی که برای آیتم ارائه شده قرار می گیرند، دیگر URL ها به URL پایه زنجیر خواهند شد.
به عنوان مثال تمام صفحات و تصاویر ارائه شده، پس از پیشوند دار کردن URL های ارائه شده با URL پایه مسیر prefixing جستجو خواهند شد
این برچسب ارتباط بین داکیومنت جاری و منبع خارجی را تعیین می کند. در ادامه مثالی را می بینید از لینک یک فایل style sheet خارجی موجود در مسیر css با یک web root.
نمونه چهار
HTML Title Tag Example
Hello, World!
برچسب< style>در HTML
این برچسب برای تعیین style sheet برای داکیومنت جاری HTML استفاده می شود. در ادامه مثالی را می بینید از تعریف برخی قوانین style sheet در داخل برچسب< style>.
نمونه پنج
HTML style Tag Example
Hello, World!
توجه:
برای فراگیری چگونگی کار Cascading Style Sheet یک آموزش مجزای موجود در اینجا را کلیک کنید.
برچسب< script>در HTML
این برچسب برای وارد کردن فایل اسکریپت خارجی و یا تعریف فایل اسکریپت داخلی برای داکیومنت HTML استفاده می شود. در زیر مثالی را می بینید که در آن از جاوا اسکریپت برای تعریف عملکرد ساده ی جاوااسکریپت استفاده می کنیم.
Marquee در HTML یک قطعه اسکرولینگ می باشد که یا به صورت افقی در عرض متن ویا به صورت عمودی در پایین صفحه ی وب شما نمایش داده می شود، بستگی به تنظیمات دارد وتوسط برچسب < fmarquees>مربوط به HTML ایجاد می شود.
توجه:
ممکن است برچسب < marquees> در HTML توسط مرورگرهای زیادی پشتیبانی نشود، بنابراین توصیه می شود که به این برچسب تکیه نکنید، در عوض می توانید از javascript و CSS برای ایجاد چنین تاثیراتی استفاده کنید.
ترکیب ساده برای استفاده از برچسب< marquees> در HTML مانند زیر می باشد:
سلام عزیزان با آموزش جاوا اسکریپت از دوره آموزش طراحی سایت در خدمت شما دوستان هستیم
آموزش اعداد در جاوا اسکریپت
اعداد در جاوا اسکریپت
آموزش طراحی سایت : زبان جاوا اسکریپت فقط یک نوع متغیر عددی دارد. متغیرهای عددی می توانند از نوع عددی یا اعشاری باشند.
مثال:
var x = 34.00; // A number with decimals
var y = 34; // A number without decimals
اعداد بسیار کوچک یا کوچک را می توان با نماد علمی نوشت
مثال:
var x = 123e5; // 12300000
var y = 123e-5; // 0.00123
اعداد جاوا اسکریپت همیشه 64 بیتی و با ممیز شناور (در مبنای 10) هستند. برخلاف بسیاری از زبان های برنامه نویسی، جاوا اسکریپت انواع عددی از قبیل : integer (عدد صحیح)، short، long و floating-point تعریف نمی کند و این نوع اعداد در جاوا اسکریپت استفاده نمی شوند. در جاوا اسکریپت اعداد همیشه به صورت ممیز شناور با دو رقم اعشار (double precision floating-point number) ذخیره می شوند که در حقیقت دنبال رو استاندارد بین المللی IEEE 754 می باشد. در این نوع قالب دهی یا فرمت اعداد در 64 بیت ذخیره می گردند، به گونه ای که کسر (fraction) در بیت های 0 تا 51، نما یا توان (exponent) در بیت های 52 تا 62 و علامت (sign) در بیت 63 ذخیره می گردد.
دقت اعشار (precision)
اعداد صحیح integer در حداکثر 15 رقم و همیشه به صورت دقیق مطرح می شوند.
مثال:
نمونه یک
function myFunction() {
var x = 999999999999999;
var y = 9999999999999999;
document.getElementById("demo").innerHTML = x + " " + y;
}
حداکثر تعداد اعشار، 17 رقم است، اما حساب ممیز شناور همیشه 100% دقیق نیست.
هیچگاه یک عدد را با صفر مقدم ننویسید (مانند این مثال 07(.
بعضی از ویرایش های جاوا اسکریپت یک عدد را در صورتی که با صفر مقدم نوشته شوند، به صورت octal / هشت هشتی تفسیر می کند. به صورت پیش فرض، جاوا اسکریپت اعداد را به صورت اعشاری و در مبنای 10 نمایش می دهد، اما شما می توانید با استفاده از تابع toString() اعداد را به صورت مبنای 16، مبنای 8 یا مبنای 2 (دودئی) (به عنوان خروجی) نمایش دهید.
عبارت NaN یک کلمه ی رزرو شده (reserved word) است که بیان می کند یک مقدار از نوع عدد نیست. چنانچه سعی کنید با رشته ی غیر عددی عملیات محسابه ی انجام دهید، جاوا اسکریپت عبارت رزرو شده ی Not a Number را بر می گرداند.
اعداد می توانند شی باشند. به طور معمول اعداد مقادیر اولیه ی هستند که از literal ها ایجاد می گردند.
var x = 123
اما اعداد را می توان با استفاده از کلیدواژه ی new به عنوان شی (object) تعریف کرد، بدین ترتیب
var y = new Number(123)
مثال:
نمونه پانزده
document.getElementById("demo").innerHTML = typeof x + " " + typeof y;
از ایجاد شی number خودداری کنید، زیرا که سرعت اجرا را کاهش داده و عوارض جانبی فراوانی را منجر می شوند. عملگر == برای اعدادی بکار می رود که از لحاظ مقدار برابر باشند.
توجه داشته باشید که در صورت استفاده از عملگر === دیگر اعداد با مقدار یکسان مساوی یا برابر محسوب نمی شوند زیرا که این عملگر انتظار دارد اعداد هم از نظر نوع و هم از نظر مقدار با هم برابر باشند.
خواص (properties) و متدهای مربوط به اعداد در جاوا اسکریپت
مقادیر اولیه ی مثل 3.14 یا 2014، نمی توانند متد یا خاصیت داشته باشند (زیرا که در اصل این ها شی نیستند که بتوانند خاصیت یا متد داشته باشند). اما در رابطه با جاوا اسکریپت این امر صادق نیست. به این خاطر که زبان بیان شده هنگام اجرای متدها و خصوصیت ها با مقادیر اولیه به مثابه ی شی برخورد می کند. از این رو مقادیر اولیه همچنان قادر هستند در زبان جاوا اسکریپت متد و خاصیت داشته باشند.
خاصیت های مربوط به اعداد در جاوا اسکریپت متعلق به دبرگیرنده یا wrapper شی number هستند که خود Number نامیده می شوند. دسترسی به خاصیت های نام برده تنها از این طریق ممکن می باشد.
Number.MAX_VALUE
استفاده از myNumber.MAX_VALUE در جایی که myNumber یک متغیر، عبارت یا مقدار است، باعث برگردانده شدن undefined می شود.
اکنون که چند مقدار پیش فرض داریم، می توانیم متدی را اضافه کنیم که مقادیر مختلفی را برای آنها تنظیم می کند. متد زیر را به گروه StudentResultsخود اضافه کنید.
در آموزش جاوااین متد جدید fullName نامیده می شود و دارای یک متغیر String جدید به نام aName بین پرانتزهای آن می باشد. این متد کار بزرگی انجام نمی دهد و به خاطر سادگی در اینجاست. می توانستیم متدی داشته باشیم که کارهای بیشتری انجام دهد، از جمله چک کردن خطاها، اطمینان حاصل کردن در رابطه با یک مورد مناسب، بررسی رشته های خالی و غیره. اما نکته ی مهم این است که این متد برای فیلد Full_Name یک مقدار تنظیم می کند و این فیلد را به عنوان یک مقدار باز می گرداند. وقتی این متد را فرا می خوانیم، مقدار پیش فرض را برای Full_Name خواهد نوشت و یک مقدار جدید وارد خواهد کرد. هر آنچه در متغیر aName است، مقدار جدید Full_Name خواهد بود. اجازه بدهید این مورد را در عمل ببینیم.
روی back کلیک کنید تا به گروه ExamDetails بازگردید. دو خط زیر را به آن اضافه کنید.
مثال:
1String sName = aStudent.fullName("Bill Gates");
1System.out.println( sName );
کد مربوط به گروه ExamDetails باید مشابه زیر باشد.
آنچه در اینجا انجام می دهیم، فراخوانی متد fullName از آبجکت aStudent می باشد. ما در حال توزیع مقدار "Bill Gates" می باشیم. این مقدارمربوط به فیلد Full_Name نیز خواهد بود. ( این مقدار می توانست برای خطاها بررسی شده، اصلاح شود و سپس در یک فیلد ذخیره شود.) سپس مقدار Full_Name بازگردانده شده و در متغیر sName ذخیره می شود.
درست مانند متدهایی که در بخش قبل ایجاد کردیم، گرچه متد fullName روی لیست NetBeans می باشد. به هرحال توجه داشته باشید که constructor در آنجا نیست.
برای امتحان آن کد خود را اجرا کنید. پنجره ی Output باید صفحه ی زیر را نمایش دهد.
بنابراین آنچه انجام داده ایم امتحان کردن یک مقدار برای یک متغیر فیلد در یک گروه به نام StudentResults می باشد. سپس به آن مقدار دسترسی پیدا کرده و آن را چاپ می کنیم.
حالا اجازه بدهید متدی وارد کنیم که واقعا کار مفیدی انجام می دهد. کاری که انجام خواهیم داد این است که به یک یوزر اجازه می دهیم تا یک کد امتحان دو حرفی وارد کند. سپس آن دو حرف را به متدی انتقال خواهیم داد که دو حرف را به نام یک امتحان بازمی گرداند. برای مثال اگر یک یوزر دو حرف "VB" را وارد کند، متد رشته ی "Visual Basic .NET" را گزارش خواهد داد. رشته ی بلندتر در متغیر فیلد Exam_Name ذخیره خواهد شد.
کد زیر را به گروه StudentResults، درست زیر متد fullName اضافه کنید.
متد examName دارای یک متغیر رشته به نام examCode می باشد که بین پرانتزهای آن قرار می گیرد. این رشته آن دو حرف می باشد. خطوط IF … ELSE IF بررسی می کنند تا ببینند کدام دو حرف در رشته می باشند. اگر یک هماهنگی برای دو دو حرف پیدا کردیم، تیتر بلندتر در فیلد Exam_Name قرار می گیرد. اگر هیچ گونه هماهنگی پیدا نشد، متن مربوط به فیلد "No Exam Selected" خواهد بود.
به گروه ExamDetails خود بازگشته و خط زیر را به آن اضافه کنید.
مثال:
1String exam = aStudent.examName("VB");
دوباره ما در حال فراخوانی متد می باشیم. به حروف "VB" دسترسی داریم. متد مقدار "Visual Basic .NET" را گزارش می دهد و سپس آن را در متغیر رشته ای که آن را exam نامیدیم، ذخیره می کند. یک print line جدید اضافه کنید، کد شما باید مانند زیر باشد.
سپس کد خود را اجراکنید، Outout مشابه زیر می باشد.
آموزش متودهای بیشتری در جاوا
بنابراین ما نام یک دانش آموز و نام یک امتحان داریم. هر دو در فیلد اسم ها در گروه StudentResults ذخیره می شوند. اکنون می توانیم یک نمونه ی امتحان نیز ذخیره کنیم.
متد جدید زیر را درست بعد از متد examName در گروه خود اضافه کنید.
این متد جدید examScore نامیده می شود با یک متغیر int به نام aScore بین پرانتزهای آن. این متد برای بازگرداندن یک مقدار String تنظیم شده است. خود متد نمره را با رشته ی " out of 50" ترکیب می کند. بنابراین اگر مقدار در aScore عدد 30 باشد، متن "30 out of 50" در فیلد Exam_Score ذخیره خواهد شد.
در گروه ExamDetails ، خط زیر را اضافه کنید.
مثال:
1String score = aStudent.examScore(30);
بنابراین متد جدید examScore را فرا می خوانیم و به آن مقدار 30 را می دهیم. مقدار در فیلد Exam_Score بازگردانده می شود، و سپس در یک متغیر رشته ذخیره می شود که ما آن را نمره (score) نامیده ایم.
یک متد print line جدید اضافه کنید، بنابراین کد شما شبیه به کد ما در زیر می شود.
بنابراین ما نام دانش آموز، نام امتحان و نمره از 50 را در دست داریم. اکنون به پنجره ی خروجی می توانیم یک درجه نیز اضافه کنیم.
برای درجه از حروف مجزا استفاده می کنیم: A، B, C، D، یا E. اگر دانش اموزی نمره ی 41 یا بیشتر بگیرد، حرف A را به آن اختصاص می دهیم. اگر نمره بین 31 و 40 باشد، درجه مربوطه B خواهد بود. برای نمره ی بین 21 تا 30 حرف C اختصاص داده می شود. درجه ی D نمره ی بین 11 تا 20 می باشد و حرف E برای نمرات بین 0 تا 10 می باشد.
برای محاسبه ی درجات بالا متد زیر را اضافه کنید.( آن را به گروه StudentResults خود اضافه کنید)
دقت داشته باشید که این متد privat (خصوصی) می باشد. درست مانند متغیرهای فیلد، خصوصی ساختن یک متد به این معناست که آن متد تنها در داخل این گروه قابل مشاهده می باشد و می تواند به وسیله ی گروه ExamDetails مشاهده شود.
برای به دست آوردن درجه، متد دیگری را در داخل گروه StudentResults تنظیم خواهیم کرد و از آن برای به دست آوردن درجه استفاده می کنیم. متد زیر را درست در بالای متد getGrade اضافه کنید.(گرچه اگر تمایل داشته باشید، می توانید آن را در زیر این متد نیز اضافه کنید: در جاوا هیچ فرقی نمی کند)
1مثال:
1String examGrade(int aScore) {
1
1 Exam_Grade = this.getGrade( aScore) ;
1 return Exam_Grade;
1 }
این متدی است که به جای متد getGrade از گروه ExamDetails فرا خوانی می کنیم. نام این متد جدید examGrade می باشد و مجددا آن را به نمره ی دانش آموز انتقال می دهیم. به این خط دقت کنید.
مثال:
1Exam_Grade = this.getGrade( aScore );
در اینجا متد getGrade فراخوانده می شود و آن را به نمره ای انتقال می دهیم که توزیع شده بود. فراخوانی یک متد از متد دیگر یک تمرین استاندارد می باشد، و به شما اجازه می دهد تا کد خود را ساده کنید. جایگزین آن داشتن متدهای خیلی بلند می باشد که خواندن آنها سخت است.
مورد دیگری که در خط بالا باید به آن توجه داشت لغت کلیدی this در جاوا می باشد. لغت کلیدی this به معنای "this class" می باشد و نه گروه دیگری که ممکن است دارای متد هم نام باشد. این امر از هر گونه سردرگمی جلوگیری می کند. این مسئله زیاد ضروری نیست و می توانید آن را نادیده بگیرید. فراخوانی متد هنوز بدون آن کار می کند.
مثال:
1Exam_Grade = getGrade( aScore );
گرچه نتیجه ی نهایی هنوز همان است: ما در حال ذخیره سازی چیزی در فیلد متغیر Exam_Grade می باشیم و آن عبارت خواهد بود از عبارت "Grade is" به علاوه ی یک حرف مربوط به درجه.
برای امتحان کردن متدهای جدید، خط زیر را به گروه ExamDetails اضافه کنید.
مثال:
1String grade = aStudent.examGrade(30);
این خط مقداری برابر 30 را به متد examGrade می دهد. سپس در فیلد متغیر Exam_Grade مقداری گزارش می شود و در متغیری به نام grade ذخیره می شود.
با یک print line، گروه ExamDetails باید به شکل زیر باشد.
برنامه ی خود را اجرا کنید تا پنجره ی Output را مشاهده کنید.
اگر برنامه ی شما به درستی کار نمی کند، در اینجا کد کامل مربوط به گروه StudentResults را مشاهده می کنید.
در این بخش چگونگی ایجاد آبجکت ها را فرا خواهید گرفت. یادگیری کلاس ها را تقریبا در یخش قبل آغاز کرده اید. اکنون به جزئیات بیشتری می پردازیم. در برخی موارد در مورد تفاوت بین یک آبجکت و کلاس گیج می شوید، گرچه وقتی درمورد یک کلاس صحبت می کنیم در واقع در مورد خود کد صحبت می کنیم، کدی که کاری انجام نمی دهد. وقتی کد را برای انجام کار فعال می سازید، این کد یک آبجکت می باشد.
وقتی کلاسی ایجاد می کنید، یک کد برای انجام یک کار خاص می نویسید. این کار ممکن است مربوط به یک کارمند باشد، اما فروش شرکت نیز در همان زمان شکل نمی گیرد. برای آمار فروش باید یک کلاس مجزا بنویسید. به این روش می توانید از کلاس کارمند (employee) در یک پروژه ی دیگر استفاده کنید. آمار فروش داده ی برکنار شده (redundant data) می باشند.
وقتی که سعی دارید نظریه های خود را در کلاس ها به کار برید، باید مسئله ی برکناری را در ذهن داشته باشید و از خود بپرسید: " آیا کدی در این کلاس وجود دارد که نیازی به آن در اینجا نیست؟"
در مورد مثال مربوط به این بخش، کلاسی خواهیم نوشت که شامل چند تمرین خواهد بود. روی وب سایت ما (www.tahlildadeh.com) چند امتحان وجود دارد که می توانید به رایگان به آنها دسترسی داشته باشید. در یک زمان سوال داده می شود و هر امتحان دارای 50 سوال می باشد. تمرین های مختلفی وجود دارند که می توانید به آنها دسترسی داشته باشید. در مورد مثال ما، سوالات را ساده می کنیم. نام شخصی که امتحان می گیرد، ایمکه کدام امتحان گرفته شده، نمره از 50 و یک درجه را ثبت می کنیم.
اجازه بدهید که یکی از موارد را شروع کنیم.
برای این مسئله یک پروژه ی جدید جاوا ایجاد کنید. پوشه ی exams را فرا بخوانید و سپس نام متود را از Main به ExamDetails تغییر دهید. سپس باید کد زیر را داشته باشید.
کلاس دومی ایجاد خواهیم کرد تا داده ی امتحان را بررسی کنیم. بنابراین در NetBeans از نوار منو روی File کلیک کنید. از منوی File گزینه ی New File را انتخاب کنید. Java را در لیست Categories و Java Class را در لیست File Types مشخص کنید. سپس روی Finish کلیک کنید. NetBeans در پروژه ی شما یک کلاس دوم ایجاد خواهد کرد. شما می توانید کامنت های پیش فرض را حذف کنید.
در بخش قبل در مورد متغیرهای داخل متدها صحبت کردیم. متغیرهایی که داخل متدها تنظیم می کنید، تنها در دسترس همان متدها می باشند و در متدهای دیگر قرار نمی گیرند، گفته می شود که دارای دامنه ی داخلی می باشند.
به هرحال می توانید متغیرهایی را در خارج از متدها تنظیم کنید که همه ی متدهای موجود در گروه شما می توانند ببینند. این متغیرها، متغیرهای Field (یا متغیرهای Instance) نامیده می شوند. می توانید آنها را دقیقا به روش دیگر متغیرها تنظیم کنید. چهار فیلد زیر را گزوه جدید StudentResult اضافه کنید.
ما چهار رشته متغیر (چهار رشته فیلد) تنظیم می کنیم. همانطور که نام فیلدها نشان می دهد، رشته حاوی نام یک شخص، نام یک امتحان، یک نمره و یک درجه می شود. این چهار فیلد در دسترس همه ی متدهایی که در این گروه نوشتیم، قرار می گیرند و برای متدها داخلی نیستند. گفته می شود که دارای دامنه ی جهانی می باشند.
برای اینکه چگونگی جهانی بودن آنها را مشاهده کنیم، به گروه ExamDetails خود بازگردید، گروهی با متد اصلی (main). برای ایجاد یک آبجکت جدید از گروه StudentResults ، کد زیر را اضافه کنید.
این همان کاری می باشد که در بخش قبل انجام دادهیم – استفاده از یک لغت کلیدی جدید برای ایجاد یک آبجکت جدید. نام آبجکت aStudent خواهد بود و از نوع StudentResults می باشد که گروه ماست.
در خط بعدی نام متغیر (aStudent) را که با یک نقطه (dot) دنبال می شود، تایپ کنید. به محض اینکه نقطه را تایپ کردید، NetBeans لیستی از متدها و پراپرتی های موجود در آبجکت شما را ارائه می دهد.
چهار فیلدی که تنظیم کردیم، روی لیست قرار دارند. اینها متد نیستند، بلکه چیزی به نام پراپرتی می باشند. این واقعیت که آنها روی لیست هستند، به این معناست که دارای دامنه ی جهانی می باشند. اگر دارای دامنه ی داخلی بودند، روی لیست قرار نمی گرفتند.
شما می توانید مقادیری را برای پراپرتی ها تنظیم کنید. این مورد را امتحان کنید: کد مشخص شده ی زیر را به متد اصلی خود اضافه کنید.
ما فیلد Exam_Name را از لیست انتخاب کرده ایم و به آن مقدار "VB NET" اختصاص داده ایم. سپس خط بعدی مقدار Exam_Name را از آبجکت aStudent می گیرد. نتیجه در متغیری به نام امتحان (exam) ذخیره شده و سپس چاپ می شود. وقتی برنامه را اجرا می کنید، خروجی رشته ی "VB Net" می باشد.
بنابراین چهار متغیری که تنظیم کرده ایم، در هر دو گروه در دسترس می باشند.
به هرحال جهانی ساختن متغیرهای فیلد، مانند این مورد، فکر خوبی نیست. شما تمایل به از دست دادن پیگیری مقادیری را دارید که در این متغیرها می باشند، بنابراین اشکال زدایی کد شما بسیار سخت تر می شود. محدود کردن دامنه ی متغیرهای فیلد، برنامه نویسی خوبی تلقی می شود.
برای اینکه یک متغیر فیلد تنها در دسترس یک گروه خاص باشد، درست قبل از اعلام فیلد لغت کلیدی private را وارد کنید. کد را در گروه StudentResults مانند زیر تغییر دهید.
اکنون تنها کد موجود در گروه StudentResults می تواند این متغیرها را ببیند. برای بررسی به عقب، به متد اصلی خود بازگردید. باید چند اخطار و خطوط قرمز مشاهده کنید.
سه خط را در پایین حذف کنید. aStudent را و سپس یک نقطه تایپ کنید تا لیست NetBeans را مشاهده کنید.
همانطور که مشاهده می کنید، اکنون چهار متغیر فیلد محو شده اند. علت حذف آنها این است که دیگر دامنه ی جهانی ندارند و بنابراین از گروه ExamDetails قابل مشاهده نیستند.
در بخش بعد در مورد چیزی به نام class constructor خواهید آموخت.
آموزش سازنده در جاوا
از آنجایی که متغیرهای فیلد را خصوصی ساخته ایم، نیاز به راه دیگری برای اختصاص دادن مقادیر به آنها داریم. یک راه برای انجام آن استفاده از constructor (سازنده) می باشد. این دروافقع متودی است که می توانید برای تنظیم مقادیر اولیه ی متغیرهای فیلد استفاده کنید. وفتی آبجکت ایجاد می شود، ابتدا جاوا constructor را فرا می خواند. سپس هر کدی که در این سازنده دارید، اجرا می شود. نیازی به هیچگونه فراخوانی خاصی به یک متود constructor ندارید – در هنگام ایجاد یک آبجکت این اتفاق به طور خودکار انجام می شود.
متودهای Constructor هم نام گروه می باشند. Constructor زیر را به گروه StudentResults اضافه کنید.
بنابراین نام این Constructor (سازنده) نیز StudentResults می باشد. این دقیقا همان نام گروه می باشد. برخلاف متودهای عادی، گروه constructor ها به نوع بازگشتی مانند int یا double و کلا هیچ گونه گزارشی نیاز ندارد. به هرحال شما می توانید مقادیر را به constructor های خود انتقال دهید. اگر بخواهیم مقادیر را به متغیرهای فیلد انتقال دهیم، می توانیم مانند زیر عمل کنیم.
در اینجا دو متغیر String به پرانتزهای constructor اضافه کرده ایم. در داخل پرانتزها این مقادیر را به فیلدهای Full_Name و Exam_Gradeاختصاص داده ایم. وقتی که یک آبجکت جدید ایجاد می کنید، نیاز به دو رشته بین پرانتزهای نام گروه دارید.
1StudentResults aStudent = new StudentResults( "Bill Gates", "A" );
وقتی آبجکت ایجاد می شود، مقادیر "Bill Gates" و "A"در constructor بررسی می شوند.
به هرحال تنظیم چند مقدار پیش فرض برای متغیرهای فیلد فکر خوبی است. این مقادیر در هنگام ایجاد آبجکت، اختصاص داده می شوند. کد زیر را به constructor خود اضافه کنید.
اکنون هر وقت یک آبجکت StudentResults جدید ایجاد می شود، هر چهار متغیر فیلد ما دارای مقدار پیش فرض می باشند. دقت کنید که اکنون هیچ چیز بین پرانتزهای گروه constructor وجود ندارد.
در بخش بعد به دسترسی به گروه متغیرها خواهیم پرداخت.
در مورد رشته های جاوا موارد بیشتری از آنچه با چشم دیده می شود وجود دارد. بر خلاف متغیرهای int یا متغیرهای double، رشته ها آبجکت می باشند. و این در عمل به این معناست که با رشته های متن کارهایی می توانید انجام دهید که با متغیرهای double یا int نمی توانید انجام دهید. ( همین مورد برای انواع داده ی boolean، byte، single، char، float، long و short نیز به کار می رود: آنها مانند رشته ها آبجکت نیستند)
قبل از اجرای رشته های متن، در اینجا اطلاعات اصلی مربوط به رشته ها را مشاهده خواهید کرد.
یک رشته مجموعه ای از کاراکترهای Unicode می باشد که تحت عنوان نام یک متغیر حفظ می شوند. رشته ی زیر را در نظر بگیرید.
1String someText = "Bill"
این خط به جاوا می گوید که یک رشته آبجکت با چهار کاراکتر "B"، "i"، "l"و یک "l" دیگر برقرار کند. در مجموعه کاراکتر Unicode، این مقادیر عبارتند از: u0042، u0069، u006c،u006c . مقادیر Unicode به عنوان اعداد هگزادسیمال ذخیره می شوند. حروف بزرگ ( A تا Z) با استفاده از مقادیر u0041 تا u005a ذخیره می شوند، در حالیکه حروف کوچک ( a تا z ) با استفاده از مقادیر هگزادسیمال u0061 تا u007a ذخیره می شوند.
در بخش قبل یک array وجود داشت که رشته های متن را حفظ می کرد. سپس array را مرتب سازی کردیم.
وقتی که برنامه اجرا می شود، خروجی مانند تصویر زیر می باشد.
قبلا ذکر کردیم که لغت "This" در ابتدا قرار می گیرد. اگر قرار است array به ترتیب حروف الفبا مرتب شود، انتظار می رود که لغت "a" در ابتدا قرار بگیرد. این به این خاطر است که لغت "a" با حرف کوچک دارای مقدار هگزادسیمال u 061 می باشد، که عدد دهدهی 97 می باشد. اما حرف بزرگ "T" دارای یک مقدار هگزادسیمال u 054 می باشد که عدد دهدهی 84 است. 84 کمتر از 97 می باشد، بنابراین "T" در ابتدا قرار می گیرد.
بسیار خود، اجازه بدهید در موزد اجرای رشته های متن کارهایی انجام دهیم. رشته متدهایی که مورد بررسی قرار خواهیم داد، عبارتند از
تبدیل رشته های خود به حروف بزرگ و کوچک کار آسانی می باشد: تنها از متودهای داخلی toUpperCase و toLowerCase استفاده کنید.
برای این کار یک پروژه ی جدید را شروع کرده و کد زیر را به آن اضافه کنید:
دو خط اول از کد یک متغیر String برای حفظ متن "text to change" تنظیم می کنند و سپس آن را چاپ می کنیم. خط سوم یک متغیر دوم String به نام نتیجه را تنظیم می کند. و خط چهارم می باشد که در آن تبدیل را انجام می دهیم:
1result = changeCase.toUpperCase( );
برای استفاده از یک متود string ابتدا رشته ی مورد نظر را تایپ کنید. برای ما این رشته در متغیر changeCase نامیده می شود. پس از نام متغیر یک نقطه تایپ کنید، سپس لیستی از متودهای موجود را مشاهده می کنید که می توانید در رشته ی خود از آنها استفاده کنید. toUpperCase را انتخاب کنید. ( متود پس از آن نیاز به پرانتز دارد.)
پس از اینکه جاوا لغت را به حروف بزرگ تغییر داده است، ما رشته ی جدید را به متغیر نتیجه ی خود مرتب می کنیم.
وقتی برنامه اجرا می شود، پنجره ی Output نتیجه ی زیر را نمایش خواهد داد:
اما شما مجبور نیستید که لغت تغییر یافته را در یک متغیر جدید ذخیره کنید. این کار نیز انجام می شود:
1System.out.println( changeCase.toUpperCase( ) );
در اینجا جاوا تنها با تغییر رشته و بدون نیاز به اختصاص دادن نتیجه به یک متغیر جدید، به کار خود ادامه خواهد داد.
در عوض اگر می خواهید فقط به حروف کوچک تغییر دهید، از متود toLowerCase استفاده کنید. این متود درست به روش متود toUpperCase استفاده می شود.
در بخش بعدی چگونگی مقایسه ی رشته ها را در جاوا مشاهده خواهید کرد.
شما می توانید یک متود را با متود دیگر مقایسه کنید. ( در هنگام مقایسه جاوا از مقادیر هگزادسیمال به جای خود حروف استفاده خواهد کرد.). به عنوان مثال اگر بخواهید لغت "Ape" را با لغت "App" مقایسه کنید تا ببینید کدامیک نخست قرار می گیرد، می توانید از یک رشته متود داخلی به نام compareTo استفاده کنید. اجازه بدهید چگونگی کار آن را بررسی کنیم.
برای این کار نیازی به شروع یک پروژه ی جدید ندارید: به راحتی روی کدی که دارید کامنت بگذارید یا آن را حذف کنید. اکنون کد زیر را به آن اضافه کنید:
ما دو رشته متغیر تنظیم کرده ایم که حاوی لغا ت "Ape" و "App" می باشند. متود compareTo در کد بالا خط زیر می باشد:
1result = Word1.compareTo( Word2 );
متود compareTo یک مقدار را گزارش می دهد. مقدار گزارش شده یا کمتر از 0 یا بیشتر از 0 و یا مساوی 0 می باشد. اگر Word1 قبل از Word2 قرار بگیرد، مقدار گزارش شده کمتر از 0 خواهد بود. اگر Word1 بعد از Word2 قرار بگیرد، مقدار گزارش شده بزگتر از 0 خواهد بود. اگر هر دو لغت یکشان باشند، مقدار 0 گزارش خواهد شد.
بنابراین لازم است کقداری را اختصاص دهید که compareTo به یک متغیر بازمی گرداند. ما مقدار را در یک متغیر صحیح به نام نتیجه قرار می دهیم. عبارات IF در کد به سادگی تست می کنند تا مورد را در متغیر نتیجه مشاهده کنند.
به هرحال وقتی یک رشته از متن را با رشته ای دیگر مقایسه می کنید، جاوا به جای حروف واقعی، مقادیر هگزادسیمال تاکید شده را مقایسه می کند. از آنجایی که حروف بزرگ دارای مقدار هگزادسیمال کمتری نسبت به حروف کوچک هستند، حرف بزرگ A در App قبل از حرف کوچ a در ape قرار خواهد گرفت. می توانید این مورد را امتحان کنید. در کد خود "Ape" را به "ape" تغییر دهید. خروجی "Word1 is more than Word2" خواهد بود، به این معنا که از لحاظ الفبایی جاوا لغت ape را بعد از app قرار خواهد داد.
برای حل مشکل یک متود مرتبط به نام compareToIgnoreCase وجود دارد. همانطور که از نام آن پیداست حروف بزرگ و کوچک نادیده گرفته می شوند. با استفاده از این متود از لحاظ الفبایی لغت ape قبل از App قرار خواهد گرفت.
آموزش استفاده از متد indexOf
متد indexOf برای قرار دادن یک کاراکتر یا یک رشته در داخل یک رشته ی دیگر استفاده می شود. به عنوان مثال می توانید از آن برای بررسی وجود کاراکتر @ در یک آدرس ایمیل استفاده کنید. اجازه بدهید از این مثال در کد استفاده کنیم.
مجددا می توانید روی کد خود کامنت بگذارید یا آن را حذف کنید. اما کد جدیدی برای امتحان کردن وجود دارد:
میخواهیم وجود نماد @ را در آدرس ایمیل بررسی کنیم، بنابراین ابتدا یک متغیر char تنظیم کرده و به آن مقدار '@' اختصاص می دهیم. ( به نماد علامت نقل قول متغیر char دقت داشته باشید.). پس از تنظیم یک آدرس ایمیل، یک متغیر نتیجه داریم، این یک متغیر int می باشد. دلیل این که نتیجه یک عدد صحیح می باشد این است که متود indexOf یک مقدار گزارش خواهد داد. این مقدار عدد مربوط به موقعیت کاراکتر علامت را در رشته ی آدرس ایمیل باز خواهد گرداند. در اینجا خط مربوطه را مشاهده می کنید:
1result = email_address.indexOf( ampersand );
رشته ای که در حال جستجوی آن هستید در ابتدا قرار می گیرد. پس از یک نقطه، indexOf را تایپ کنید. بین پرانتزهای indexOf گزینه های زیادی دارید: یکی از این گزینه ها تایپ کردن یک کاراکتر مجزا ( یا نام متغیر char) می باشد. ما متغیر علامت خود را (ampersand) بین پرانتزهای indexOf قرار داده ایم. جاوا موقعیت کاراکتر @ را در آدرس ایمیل به ما خواهد گفت. این مقدار را در متغیر نتیجه ذخیره خواهد کرد.
وقتی کد را اجرا می کنید خروجی 4 خواهد بود. ممکن است تصور کنید که علامت @ پنجمین کاراکتر در آدرس ایمیل می باشد، اما indexOf شمارش را از 0 شروع می کند.
به هرحال اگر کاراکتر در لغتی که آن را جستجو می کنید وجود نداشته باشد، indexOf مقدار 1- را گزارش می دهد. برای امتحان این مورد نماد @ را از آدرس ایمیل خود حذف کنید. سپس مجددا کد خود را اجرا کنید که 1- را به عنوان خروجی مشاهده خواهید کرد.
می توانید از مقدار گزارش شده ی 1- به نفع خود استفاده کنید. در اینجا مجددا کدی را مشاهده می کنید با یک عبارت IF که مقدار متغیر نتیجه را امتحان می کند:
بنابراین اگر نتیجه ی indexOf عدد 1- باشد، می توانیم به یوزر اجازه ی ادامه ی کار بدهیم.
می توانید از indexOf برای تست کردن بیشتر از یک کاراکتر استفاده کنید. کد زیر آدرس ایمیل را چک می کند اگر با ".com" تمام می شود:
کد تقریبا یکسان می باشد، به جز اینکه اکنون در حال استفاده از متغیر String برای حفظ متنی هستیم که می خواهیم برای وجود (.com) و نه متغیر char آن را بررسی کنیم.
اگر متنی که در جستجوی آن هستیم در string که قبل از نقطه ی مربوط به indexOf یافت نشد، مجددا نتیجه ی 1- گزارش داده خواهد شد. در غیر این صورت indexOf موقعیت اولین کاراکتر هماهنگ سازی را گزارش خواهد داد. در کد فوق وقتی شمارش را از 0 شروع می کنید، نقطه هفتمین کاراکتر در آدرس ایمیل می باشد.
می توانید یک موقعیت شروع نیز برای جستجوهای خود تعیین کنید. در مثال آدرس ایمیل می توانیم جستجو برای ".com" را پس از نماد @ آغاز کنیم. در اینجا کدی را می بینید که موقعیت نماد @ را تعیین می کند و سپس از آن به عنوان موقعیت آغازین برای جستجوی ".com" استفاده می کند.
خط زیر در واقع خط جدید کد می باشد:
1result = email_address.indexOf( dotCom, atPos );
تنها تفاوت افزودن یک متغیر اضاقه بین پرانتزهای indexOf می باشد. ما هنوز رشته ای داریم که در جستجوی آن هستیم ( که متنی است که در متغیر dotcom قرار می گیرد)، اما اکنون یک موقعیت ابتدایی برای جستجو داریم. این موقعیت مقدار متغیری به نام atPos می باشد. مقدار atPos با استفاده از indexOf برای تعیین موقعیت نماد @ در آدرس ایمیل به دست می آید. بنابراین جاوا به جای شروع از 0، جستجو را از این موقعیت آغاز خواهد کرد که پیش فرض می باشد.
Ends With … Starts With
برای برنامه ی فوق می توانید از متود داخلی endsWith استفاده کنید:
لازم است یک متغیر Boolean برای endsWith تنظیم کنید، زیرا متود پاسخ true یا false را گزارش خواهد داد. رشته ای که سعی در تست کردن آن دارید، بین پرانتزهای endsWith قرار می گیرد و متنی که در جستجوی آن هستید قبل از آن می آید. اگر متن در جستجوی رشته باشد، یک مقدار true گزارش داده می شود، در غیر اینصورت false خواهد بود. برای بررسی مقدار می توانید یک عبارت if … else اضافه کنید:
آرایه Array هایی که تاکنون استفاده کرده اید تناه یک ستون داده دارند. اما می توانید یک array برای نگهداری بیشتر از یک ستون تنظیم کنید. این array ها چند بعدی نامیده می شوند. به عنوان مثال یک صفحه ی گسترده را با ردیف ها و ستون ها در نظر بگیرید. اگر 6 ردیف و 5 ستون داشته باشید، صفحه ی گسترده ی شما می تواند 30 عدد را در خود داشته باشد، که ممکن است مانند تصویر زیر به نظر برسد:
یک array چند بعدی موردی است که می تواند همه ی مقادیر بالا را در خود داشته باشد، که آنها را مانند زیر تنظیم کرده اید:
1int[ ][ ] aryNumbers = new int[6][5];
این array به روش تنظیم یک array عادی تنظیم می شود، به جز اینکه در این مورد دو مجموعه کروشه دارید. اولین مجموعه از کروشه ها برای ردیف ها می باشد و دومین مجموعه نیز برای ستون ها می باشد. در خط بالا به جاوا اعلام کرده ایم که یک array با 6 ردیف و 5 ستون تنظیم کند. برای حفظ مقادیر در یک array چند بعدی، باید مراقب دنبال کردن ردیف ها و ستون ها باشید. در اینجا کدهایی را برای پر کردن اولین ردیف های اعداد از تصویر صفحه ی گسترده ی ما مشاهده می کنید:
1aryNumbers[0][0] = 10;
1aryNumbers[0][1] = 12;
1aryNumbers[0][2] = 43;
1aryNumbers[0][3] = 11;
1aryNumbers[0][4] = 22;
بنابراین اولین ردیف، ردیف 0 می باشد. سپس ستون ها از 0 تا 4 می باشند که 5 آیتم هستند. برای پر کردن دومین ردیف کد زیر لازم می باشد:
اعداد ستون همان است، اما اعداد مربوط به ردیف همه 1 نی باشند.
تکنیک مورد نیاز برای دسترسی به همه ی آیتم ها در یک array چند بعدی، استفاده از یک loop داخل یکی دیگر می باشد. در اینجا کدی را مشاهده می کنید برای دسترسی به همه ی اعداد در بالا. این برنامه از یک double برای loop استفاده می کند:
اولین for loop برای ردیف ها استفاده می شود و دومین for loop برای ستون ها. در اولین چرخش از اولین loop، مقدار متغیر i عدد 0 خوهد شد. کد داخل for loop یک loop دیگر می باشد. تمام این loop دوم هنگامی که مقدار متغیر i عدد 0 باشد، اجرا خواهد شد. for loop دوم از یک متغیر به نام j استفاده خواهد کرد. متغیرهای i و j برای دسترسی به array قابل استفاده می باشند.
بنابراین سیستم دو loop برای وارد کردن همه ی مقادیر به یک array چند بعدی استفاده می شود، ردیف به ردیف.
تمرین: برنامه ی فوق در جایی به پایان می رسد که در آن در حال نوشتن برنامه ای برای چاپ تمام مقادیر از صفحه ی گسترده هستیم. وقتی که این کار انجام می شود، پنجره ی Output چیزی شبیه به تصویر زیر خواهد بود:
آرایه Array های چندبعدی می توانند گول زننده نیز باشند، اساسا به این دلیل که حفظ مسیر ستون ها و ردیف های شما سخت می باشد! در بخش بعدی در مورد لیست های array فرا خواهید گرفت.
اگر از تعداد آیتم هایی که قرار است در array قرار بگیرند، اطلاعی ندارید، ممکن ست بهتر باشد از چیزی به نام ArrayList استفاده کنید. یک ArrayList در واقع یک ساختار دینامیک داده می باشد، به این معنا که آیتم ها قابل حذف و اضافه از لیست می باشند. یک array معمولی در جاوا یک ساختار استاتیک داده می باشد، زیرا شما اندازه ی اولیه ی array خود را دارید.
برای تنظیم یک ArrayList، ابتدا باید پوشه ای از java.util library وارد کنید:
1import java.util.ArrayList;
سپس می توانید یک آبجکت ArrayList جدید ایجاد کنید:
1ArrayList listTest = new ArrayList( );
توجه کنید که این بار نیازی به کروشه ندارید.
زمانی که آبجکت ArrayList جدید داشته باشید، می توانید با متود add، عناصری به آن اضافه کنید:
1listTest.add( "first item" );
1listTest.add( "second item" );
1listTest.add( "third item" );
1listTest.add( 7 );
بین پرانتزهای add آنچه را که می خواهید به ArrayList اضافه کنید، قرار دهید. به هرحال فقط می توانید آبجکت ها را اضافه کنید. سه آیتم اولی که به لیست بالا اضافه کرده ایم، آبجکت های String می باشند. چهارمین آیتم یک عدد می باشد. اما این عدد یک آبجکت از نوع صحیح خواهد بود.
آیتم ها در لیست می توانند توسط یک عدد Index و با استفاده از یک متود get مورد اشاره قرار بگیرند:
1listTest.get( 3 )
این خط آیتم را روی لیست در Index position 3 خواهد گرفت. اعداد ایندکس شمارش را از 0 شروع می کنند، بنابراین این آیتم چهارمین آیتم خواهد بود.
شما می توانید آیتم ها را از یک ArrayList حذف هم بکنید:
حذف یک آیتم باعث تغییر اندازه ی ArrayList خواهد شد، بنابراین وفتی از عدد شاخص استفاده می کنید، وقتی سعی در به دست آوردن یک آیتم روی لیست دارید، باید مراقب باشید. اگر آیتم شماره ی 2 را حذف کرده ایم، بنابراین لیست فوق فقط حاوی 3 آیتم خواهد بود. سعی در به دست آوردن با عدد شاخص 3، منجر به بروز خطا خواهد شد.
برای وارد شدن به هر آیتم در ArrayList، می توانید چیزی به نام یک Iterator را تنظیم کنید. ایک گروه در کتابخانه ی java.util نیز یافت می شود:
1import java.util.Iterator;
می توانید ArrayList را به یک آبجکت Iterator جدید ضمیمه کنید:
1Iterator it = listTest.iterator( );
این خط یک آبجکت Iterator جدید تنظیم می کند که می تواند برای وارد شدن به آیتم ها در ArrayList به نام listTest استفاده شود. دلیل استفاده از یک آبجکت Iterator این است که این آبجکت دارای متودهایی به نام next و hasNext می باشد. می توانید از اینها در یک loop استفاده کنید:
1while ( it.hasNext( ) ) {
1System.out.println( it.next( ) );
1}
متود hasNext یک مقدار Boolean را گزارش می دهد. اگر آیتمی در ArrayList وجود نداشته باشد، مقدار false خواهد بود. متود بعدی می تواند برای وارد شدن همه ی آیتم ها در لیست استفاده شود.
برای تست کردن همه ی این تئوری کد زیر را امتحان کنید:
به خطی که همه ی لیست را چاپ می کند، دقت داشته باشید:
1System.out.println( "Whole list=" + listTest );
این خط به شما یک روش سریع برای مشاهده ی آیتم های روی لیستتان ارائه می دهد. وقتی کد اجرا می شود، پنجره ی Output موارد زیر را نمایش خواهد داد:
1first item second item third item 7 Whole list=[first item, third item, 7] Position 1=third item
به طور خلاصه، وفتی از تعداد عناصری که قرار است در لیستی از آیتم ها قرار بگیرند، مطمئن نیستید، از ArrayList استفاده کنید. اکنون بررسی array ها را رها می کنیم. در بخش بعدی به بررسی رشته ها خواهیم پرداخت.
سلام با آموزش طراحی سایت در خدمت شما هستیم .در قسمت قبل در مورد جاوا اسکرپیت صحبت کردیم , حال ادامه آموزش طراحی سایت در خدمت شما هستیم.
جاوا اسکریپت JavaScript زندگی خود را با نام Live Script آغاز نمود، اما شرکت Netscape نام آن را، احتمالا به دلیل هیجانی که می توانست از سوی زبان Java به خود بگیرد، به JavaScript تغییر داد. جاوا اسکریپت برای اولین بار در مرورگر Netscape 2.0 با عنوان Live Script به کار گرفته شد. جاوا اسکریپت یک زبان سبک و مفسر، همراه با قابلیت های شی گرایی (Object Oriented) است که به شما این امکان را داده تا به صفحات ایستاتیک و ساده HTML ، حالت واکنش گرا و تعاملی بدهید. به طور کلی می توان جاوا اسکریپت را در موارد زیر خلاصه کرد. جاوا اسکریپت یک زبان سبک و مفسر می باشد (معنای مفسر این است که برنامه دستورات را به صورت خط به خط خوانده و در پایان هر خط آن را اجرا می کند. بر خلاف کامپایلر که ابتدا کل دستورات را خوانده و اشکال یابی کرده، سپس آنها را یکباره اجرا می کند). این زبان برای ساخت نرم افزارهای میانی شبکه ( واسط ) استفاده می شود. جاوا اسکریپت یک زبان مکمل برای HTML می باشد. این زبان یک پلتفرم باز می باشد. جاوا اسکریپت یک زبان طرف کاربر (Client Side) است . زبان جاوا اسکریپت یک زبان طرف مشتری (Client Side) می باشد، به این معنی که دستورات آن در کامپیوتر کاربر و در مرورگر وی اجرا می شود. دستورات جاوا اسکریپت را مستقیما می توان درون اسناد HTML وارد کرده و یا آنها را در یک فایل مجزا قرار داد و سپس آن فایل را به صفحه HTML پیوند زد. وجود زبان جاوا اسکریپت باعث می شود تا صفحات HTML از حالت Static و ساده درآمده و بتوانند با کاربر ارتباط برقرار کرده، مرورگر را کنترل نموده و به صورت پویا محتویات HTML تولید و به صفحه اضافه کنند. کدهای سمت کلاینت جاوا اسکریپت، قابلیت انجام بسیاری از کارهایی که توسط کد های سمت سرور انجام می شوند را دارا هستند. برای مثال، می توانید کد جاوا اسکریپتی نوشته تا مقدار ورودی کاربر در یک کادر متن را کنترل نموده و در صورتی که وی یک آدرس ایمیل با فرمت صحیح را وارد کرده باشد، اجازه ارسال فرم و اطلاعات درون آن را بدهد. کد های جاوا اسکریپت در صورتی که کاربر تمامی مقادیر مورد نیاز را به درستی در فرم وارد نموده باشد، پس از Submit فرم در صفحه، اجرا می شوند. جاوا اسکریپت می تواند اعمال کاربر، مثل فشردن یک دکمه فرمان، کلیک بر روی یک لینک و... را تشخیص داده و دستورات مورد نظر را پس از انجام این رخدادها، اجرا کند.
مزایای استفاده از جاوا اسکریپت
استفاده از زبان جاوا اسکریپت، مزایای خاصی دارد که از آن جمله می توان به موارد زیر اشاره کرد.
کاهش عملکرد و درگیر نمودن سرور :
با کنترل مقادیر وارد شده توسط کاربر در فیلدهای فرم دریافت اطلاعات، می توانید از ارسال اطلاعات نا صحیح به سرور و پردازش آنها جلوگیری کنید. این کار بار ترافیکی بر روی سرور و همچنین میزان اطلاعات ارسال و دریافت شده را کاهش می دهد.
به دلیل اجرای سریع کدهای جاوا اسکریپت که در مرورگر کاربر اجرا می شوند، کاربر دیگر مجبور نخواهد بود تا پایان زمان ارسال اطلاعات به سرور و پردازش و سپس لود صفحه جهت دربافت نتیجه خود صبر کند.
بالا رفتن قدرت تعامل با کاربر :
به وسیله جاوا اسکریپت می توانید کدهایی طراحی نموده تا به سرعت به انجام اعمالی مثل کلیک کاربر، عبور موس از روی یک منطقه و یا زدن دکمه های کیبورد، واکنش نشان دهید.
رابط کاربری قوی تر :
به وسیله جاوا اسکریپت می توانید اجزایی مثل منو های بازشو، اسلایدشوها و... را طراحی نموده و به سایت خود، رابط کاربری قوی تری بدهید.
محدودیت در کار با جاوا اسکریپت
شما نمی توانید از جاوا اسکریپت، به عنوان یک زبان کامل که تمامی نیازهای برنامه نویسی تان را برآورده می کند، استفاده کنید. این زبان، فاقد امکانات مهم زیر می باشد. زبان کلاینت ساید جاوا اسکریپت، امکان خواندن و نوشتن بر روی فایل ها را به دلیل مسایل امنیتی نمی دهد. جاوا اسکریپت نمی تواند برای ساخت نرم افزارهای جامع و پیشرفته شبکه، به دلیل عدم پشتیبانی مناسب، به کار رود. جاوا اسکریپت فاقد قابلیت اجرای چندین پروسه یا کار به صورت همزمان است.
ساختار دستوری جاوا اسکریپت
یک قطعه کد جاوا اسکریپت، شامل دستوراتی است که درون یک تگ باز و بسته ... ، در صفحات وب HTML تعریف می شوند. می توانید کدهای جاوا اسکریپت خود را که در تگ تعریف نموده اید، در هر جای صفحه وب مورد نظرتان قرار دهید، اما بهترین روش این است که آنها را در تگ ابتدای صفحه (تگ ) بگنجانی تگ به مرورگر اعلام می کند که کلیه دستورات درون این تگ را به صورت مفسر خوانده و اجرا کند. بنابراین ساده ترین کد جاوا اسکریپت می تواند به صورت زیر در صفحه تعریف شود.
دستورات جاوا اسکریپت JavaScript code //
تگ JavaScript دو خاصیت مهم زیر را می تواند داشته باشد.
Language :
این خاصیت تعیین می کند که شما از چه زبان اسکریپتی برای نوشتن کدهای خود استفاده نموده اید که قاعدتا بایستی javascript باشد. به همین دلیل مرورگرهای جدید، از این خاصیت صرف نظر می کنند.
Type :
این خاصیت نیز نوع دستورات تعیین شده در اسکریپت را تعیین می کرده که رایج ترین مقدار برای آن “ text/javascript “ می باشد. به معنای اینکه به زبان جاوا اسکریپت و به صورت متنی هستند. بنابراین تگ JavaScript شما در حالت کاملتر بایستی به صورت زیر باشد.