جاوا اسکریپت

بازدید: 2530 بازدید

جاوا اسکریپت

 

برنامه نویسی وب

همانگونه که خود نیز مشاهده کردید، دستورات HTML . تنها نمایش و انتقال میان صفحات وب را کنترل میکنند HTML فاقد دستورات برنامه نویسی مانند تعریف متغیرها، حلقه ها، جملات شرطی و … می باشد. به همین دلیل، رفتار صفحات وب کاملاً ثابت و غیر پویا است. به عنوان مثال نمی توان تنها با استفاده از HTML صفحه ای طراحی کرد که در صورت ورود نام کاربری و کلمه عبور درست توسط کاربر یک پیغام خوش آمدگویی و در غیر اینصورت یک پیغام خطا برای وی چاپ کند . برای خارج کردن صفحات وب از حالت استاتیکی زبانهایی خلق شده اند که دستورات آنها را می توان با دستورات HTML ادغام کرد. به عبارت دیگر با استفاده از مخلوطی از دستورات HTML و این زبانها می توان صفحات وب پویا ایجاد کرد. در حالیکه HTML حالتهای ثابت و نمایشی صفحات وب را ایجاد می کند، از دستورات این زبان های برنامه نویسی برای تست کردن تست کردن شرطها، ایجاد حلقه ها، ایجاد ارتباط با پایگاه دادهها و به طور کلی برای ایجاد حالت های دینامیکی صفحه استفاده میشود.

 

برنامه نویسی طرف Server و برنامه نویسی طرف Client

کدهای نوشته شده در صفحات وب می توانند در طرف وب سرور یا در طرف مرورگر اجرا شوند. تعیین این مسئله بسته به نوع کاری که قرار است این کدها انجام دهند توسط برنامه نویس صورت می گیرد مثلاً چنانچه قرار باشد اعتبار اطلاعات وارد شده توسط کاربر در یک فرم مورد بررسی قرار گیرد، بهتر است کد نوشته شده برای انجام این بررسی در طرف مرورگر وب اجرا شود چرا که از اعمال  فشارهای بیهوده بر روی وب سرور جلوگیری میکند. از طرف دیگر، کدی که برای ایجاد ارتباط با پایگاه داده ها نوشته می شود باید در طرف وب سرور اجرا شود چرا که پایگاه داده های سایت روی وب سرور قرار دارد نه روی کامپیوترهایی که مرورگرهای وب روی آنها اجرا می شوند. به این ترتیب، برنامه نویسی وب را می توان به برنامه نویسی طرف Server و برنامه نویسی طرف Client تقسیم کرد. توجه کنید هر صفحه وب میتواند هم شامل کدهای طرف Server و هم کدهای   طرف Client باشد. برای هر یک ازاین انواع برنامه نویسی، زبان های متعددی وجود دارند. در این جزوه، تنها به ذکر مسائل پایه ای و مثال های ساده در برنامه نویسی طرف Client می پردازیم.

 

جاوا اسکریپت چیست؟

جاوا اسکریپت یکی از محبوب ترین زبان های مورد استفاده در برنامه نویسی وب است. از این زبان می توان هم در برنامه نویسی طرف Server و هم در برنامه نویسی طرف Client استفاده کرد ولی معمولاً از آن در برنامه نویسی طرف Client استفاده می شود. دلیل این امر آن است که کدهای طرف Client بایستی توسط مرورگر وب اجرا شوند. در واقع، مرورگر وب باید قابلیت فهم دستورات زبان مورد استفاده را داشته باشد و از آنجا که هم Internet Explorer و هم Navigator Netscape  که معروفترین مرورگرهای وب محسوب می شوند قابلیت درک دستورات این زبان را دارند، جاوا اسکریپت به راحتی توانسته است جای خود را به عنوان پرکاربردترین زبان برنامه نویسی طرف Client باز کند. در قسمت های بعد با نحوه استفاده آن آشنا خواهیم شد.

 

قرار دادن کدهای جاوا اسکریپت در صفحات وب:

کدهای جاوااسکریپت همواره بین برچسبهای <script> و </script> قرار می گیرند. این کدها را می توان در قسمت Head یا Body صفحه وب قرار داد. توابع جاوا اسکریپت معمولاً درقسمت Head تعریف می شوند. قطعه کد زیر تابعی به نام message را نشان می دهد که در قسمت Head تعریف شده است و به محض باز شدن صفحه فراخوانی شده و یک پیغام خوش آمدگویی را نمایش می دهد:

<html>
<head>
<script>
function message()
{
alert(” (“خوش آمدید
}
</script>
</head>
<body onLoad=”message()”>
</body>
</html>

قطعه کد زیر، همین کار را بدون استفاده از تابع انجام میدهد:

<html>
<body>
<script >
document.write(” (” خوش آمدید
</script>
</body>
</html>

 

توابع:

کد زیر یک تابع بدون پارامتر را نشان می دهد. این صفحه شامل یک دکمه است که به محض کلیک کاربر روی آن یک تابع بدون پارامتر بنام myFunction را که قرار است یک پیغام خوش آمدگویی چاپ کند، فراخوانی می کند:

function myfunction()
{
alert(” (“سلام.خوش آمدید
}
</script>
</head>
<body>
<form>
<input type=”button” onClick=”myfunction()” value=” <“فراخوانی تابع
</form>
<p> به محض کلیک روی دکمه یک پیغام خوشآمدگویی برای شما چاپ میشود .</p>
</body>

</html>

 

جاوا اسکریپت
جاوا اسکریپت

 

تابع پارامتردار:

قطعه کد زیر نمونه ای از یک تابع پارامتردار را نشان می دهد. این تابع یک رشته را به عنوان پارامتر ورودی گرفته و آنرا نمایش می دهد. در این صفحه دو دکمه در نظر گرفته شده است که با کلیک روی هر یک از آنها پیغام متفاوتی نمایش داده می شود:

<html>
<head>
<script>
function myfunction(txt)
{
alert(txt)
}
</script>
</head>
<body>
<form>
<input type=”button” onclick=”myfunction(‘ صبح بخیر !’)” value=” <“صبح
<input type=”button” onclick=”myfunction(‘ شب بخیر !’)” value=” <“شب
</form>
</body>
</html>

 

تابع با مقدار برگشتی:

قطعه کد زیر تابعی را نشان می دهد که یک رشته را باز می گرداند:

<html>
<head>
<script>
function myFunction()
{
return (” (“سلام
}
</script>
</head>
<body>
<script>
document.write(myFunction())
</script>
</body>
</html>

قطعه کد زیر شامل تابعی است که دو عدد را به عنوان پارامتر ورودی گرفته و مجموع این دو عدد را باز می گرداند:

<html>
<head>
<script>
function total(numberA,numberB)
{
return numberA + numberB
}
</script>
</head>
<body>
<script>
document.write(total(2,3))
</script>
</body>
</html>

 

مدل شی جاوا اسکریپت

از آنجا که جاوا اسکریپت از کلیه مفاهیم شی گرایی پشتیبانی نمی کند، یک زبان شبه شی گرا محسوب می شود. در این زبان از مدل شی سند یا (DOM (Document Object Model استفاده می شود.

 

رویدادها و پردازشگرهای آنها (Events and Event handlers)

انجام هر نوع عملیات توسط کاربر از قبیل کلیک کردن روی یک دکمه، تغییر سایز پنجره، باز کردن یا بستن یک پنجره، انتخاب یک گزینه از یک لیست بازشو و … باعث ایجاد یک رویداد می شود مثلاً هنگامیکه کاربر روی دکمه ای کلیک می کند، رویداد Click آن دکمه فعال میشود و چنانچه برنامه نویس در پاسخ به این رویداد قطعه کدی نوشته باشد (Event Handler)، قطعه کد مورد نظر بطور اتوماتیک اجرا می شود یا هنگامیکه که کاربر پنجره ای را باز می کند رویداد Load مربوط به پنجره فعال شده و پردازشگر OnLoad مربوط به پنجره مورد نظر اجرا می شود. به این ترتیب، نوعی برنامه نویسی “کنش و واکنش”-ی ایجاد می شود. به عبارت دیگر، تنها کاری که برنامه نویس بایستی انجام دهد، اینست که برای واکنش در برابر رویدادهای مختلف قطعه کدهای مناسبی بنویسد.

 

در ادامه با ما همراه باشید…