بایگانی نویسنده

کاراکترهای مخصوص در جاوا اسکریپت (JavaScript Special Characters )

مرداد ۱۴م, ۱۳۸۹

در جاوا اسکریپت شما می توانید یک کاراکتر خاص را به یک رشته متنی بوسیله ی یک ” بک اسلش ” (\) اضافه کنید .

وارد کردن کاراکتر خاص

بک اسلش برای اضافه کردن آپوستروف، خط جدید، کوتیشن و کاراکترهای خاص دیگری داخل یک رشته متنی استفاده می شود.

به کد جاوا اسکریپت زیر نگاه کنید

var txt="We are the so-called "Vikings" from the north.";
document.write(txt);

در جاوااسکریپت، یک رشته با یک یا دو کوتیشن شروع و خاتمه می یابد .این به این معنی است که رشته بالا به این صورت جدا می شود‌ : We are the so-called

برای حل این مشکل، شما باید یک علامت بک اسلش(\) را قبل از هر دابل کوتیشن در عبارت ” vikings” قرار دهید . این کار باعث می شود هر دابل کوتیشن به لفظ رشته تبدیل شود.

var txt="We are the so-called \"Vikings\" from the north.";
document.write(txt);

حالا جاوا اسکریپت خروجی مربوط به متن را اینگونه نمایش می دهد :      We are the so-called “Vikings” from the north.

حالا یک مثال دیگر :

document.write ("You \& I are singing!");

مثال بالا این خروجی را تولید می کند :

   You & I are singing!

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

Code Outputs
\’ single quote
\” double quote
\& ampersand
\\ backslash
\n new line
\r carriage return
\t tab
\b backspace
\f form feed

عبارت try … catch جاوا اسکریپت

مرداد ۱۴م, ۱۳۸۹

عبارت Try … Catch  جاوا اسکریپت:

عبارت Try … Catch  به شما نشان می دهد که یک بلاک از کد را برای خطا چک کند .

خطاهای فریبنده ی جاوا اسکریپت

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

این بخش به شما آموزش میدهد که چگونه پیغامهای خطای جاوا اسکریپت را متوجه شوید و اداره کنید.

عبارت  Try … Catch

عبارت Try … Catch  به شما اجازه می دهد که یک بلاک از کد جاوا اسکریپت را برای خطا چک کنید . بلاک Try  شامل کدهایی برای اجراست و بلاک  Catch  شامل کدهایی است که اگر خطایی رخ دهد اجرا می شود.

Syntax

try
  {
  //Run some code here
  }
catch(err)
  {
  //Handle errors here

توجه : این Try … Catch  با حروف کوچک نوشته می شود . استفاده از حروف بزرگ برای نوشتن آن موجب ایجاد خطا ی جاوا اسکریپت می شود.

مثال ۱ :

در مثال زیر فرض شده که زمانی که کاربر بر روی دکمه کلیک کند پیغام ”  Welcome guest! “   ظاهر می شود .هرچند در اینجا در تابع  message()  غلط املایی وجود دارد . alert()  با املای غلط به کار بردن()   adddlert است . یک خطای جاوا اسکریپت رخ داده است. بلاک Catch  دچار یک خطا شده است و یک کد عادی برای اداره  ی آن اجرا می کند . این کد نشان می دهد که یک پیغام خطای عادی به کاربر می گوید که چه کاری انجام دهد .

Example

<html>
<head>
<script>
var txt=""
function message()
{
try
  {
  adddlert("Welcome guest!");
  }
catch(err)
  {

مثال ۲ :

مثال بعدی از یک جعبه ی تایید برای نشان دادن یک پیغام عادی که به کاربران می گوید که آنها می توانند بر روی  ok  کلیک کنند و به دیدن صفحه ادامه بدهند و یا بر روی Cancel  کلیک کنند و به صفحه ی  homepage  بروند؛ استفاده می کند .اگر روش تایید مقدار false  برگرداند ، کاربر بر روی cancel  کلیک کرده و کد کاربر را دوباره هدایت می کند .اگر روش تایید مقدار true  برگرداند کدها کار خاصی انجام می دهد .

Example

<html>
<head>
<script>
var txt=""
function message()
{
try
  {
  adddlert("Welcome guest!");
  }
catch(err)
  {
  txt="There was an error on this page.\n\n";
  txt+="Click OK to continue viewing this page,\n";
  txt+="or Cancel to return to the home page.\n\n";
  if(!confirm(txt))
    {
    document.location.href="http://www.w3schools.com/";
    }
  }
}
</script>
</head>

<body>
<input value="View message" />
</body>

</html>

عبارت  throw

عبارت throw  می تواند همراه با try … catch  بزای ایجاد یک حالت خاص برای خطا استفاده می شود . درباره ی عبارت throw  در فصل بعد یاد خواهیم گرفت .

event ها در جاوا اسکریپت

مرداد ۱۴م, ۱۳۸۹

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

Event  ها وقایعی هستند که توسط جاوا اسکریپت می توانند نمایش داده شوند .

Events

با استفاده از جاوا اسکریپت ، ما توانایی ساختن صفحات متحرک و پویا را داریم . این   event  ها توسط جاوا اسکریپت می توانند نشان داده شوند.

هر عنصر در صفحه وب هر اتفاق معینی که می تواند توسط جاوا اسکریپت راه اندازی شود را دارد.برای مثال ما می توانیم از  event  ، OnClick  یک عنصر دکمه که نشان می دهد یک تابع زمانی که یک کاربر بر روی دکمه کلیک کند ؛ اجرا می شود .

مثالی از event  ها:

-          با کلیک موس

-          زمانی که یک صفحه یا یک عکس بارگذاری می شود

-          موس بر روی یک نقطه خاص بر روی صفحه برود

-          انتخاب کردن یک فیلد ورودی در فرم HTML

-          فرستادن یک فرم HTML

-          یک بار کلیک کردن

توجه: معمولا  event  ها در ترکیب با توابع استفاده می شوند و یک تابع قبل از آنکه  event  ای اتفاق بیفتد اجرا نمی شود .

Onload , onunload  :

Event ، onload , onunload  زمانی که کاربر وارد صفحه می شود و یا از آن خارج می شود راه اندازی می شود. Event ، onload  معمولا برای چک کردن نوع مرورگر بیننده و نسخه مرورگر و یک نسخه مناسب از صفحه وب مبنی بر اطلاعات را بارگذاری می کند.

هر دو  event  معمولا برای رسیدگی کردن به کوکی ها که باید موقعی که کاربر وارد صفحه می شود و یا آنرا ترک می کند گذارده شده باشد ، استفاده می شود.برای مثال شما می توانید یک صفحه جهنده برای درخواست نام کاربر به محض اولین ورود به صفحه داشته باشید . اسم مورد نظر در داخل کوکی ذخیره می شود . دفعه ی بید که بیننده وارد صفحه ی شما می شود شما می توانید یک گفته ی جدید مانند این را داشته باشید:

“Welcome Jone Doe!”

onFocus, onBlur , onChange:

این سه event  هایی هستند که برای ترکیب با اعتبارسنجی بین فیلدهای فرم استفاده می شوند .

مثال زیر چگونگی استفاده از  event ، onchange  آورده شده ؛تابع checkEmail()  زمانی که کاربر مقدار فیلد را تغییر می دهد ، فراخوانی می شود.

<input size="30">

Onsubmit:

Event ، submit  همه ی فیلدها را قبل از فرستادنشان اعتبارسنجی می کند .

در مثال زیر چگونگی استفاده از این  event  آورده شده. تابع checkForm()  زمانی که کاربر دکمه ای از فرم را فشار می دهد فراخوانی می شود .اگر مقدار فیلد مورد قبول نباشد ، ارسال صفحه متوقف می شود .تابع  checkForm()  مقدار  True و یا False  را بر می گرداند..اگر مقدار True  برگرداند صفحه ارسال می شود در غیر این صورت ارسال صفحه  cancel  می شود.

onMouseOver and onMouseOut:

ایندو برای ایجاد صفحات جنبنده  استفاده می شود.

در مثال زیر event ، onMouseOver  اورده شده است . یک جعبه ی هشدار زمان نشان دادن این Event  ظاهر می شود .

<a href="http://www.webfocus.ir">
<img src="webfocus.gif" alt="Webfocus" /></a>

عبارت For … in در جاوا اسکریپت

مرداد ۱۱م, ۱۳۸۹

این عبارت در میان عناصر یک آرایه یا در میان خواص یک شی حلقه ایجاد می کند .

Syntax

for (variable in object)
  {
  code to be executed
  }

توجه: کدی که در بدنه ی for … in  باشد حلقه را برای هر عنصز یا شی فقط یک بار اجرا می کند .

توجه: آرگومانها می توانند به عنوان یک متغییر نامگذاری شوند ، یک عنصز آرایه یا یک مشخصه ی شی .

مثال:

استفاده از عبارت For … In  برای ایجاد حلقه در میان یک آرایه :

<html>
<body>

<script>
var x;
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";

for (x in mycars)
  {
  document.write(mycars[x] + "<br />");
  }
</script>

</body>
</html>

Break and Continue در جاوا اسکریپت

مرداد ۱۱م, ۱۳۸۹

عبارت Break

عبارت Break  حلقه را می شکند و کد بعد از حلقه را اجرا می کند (اگر کدی بعد از آن نوشته شده باشد)

مثال

<html>
<body>
<script>
var i=0;
for (i=0;i<=10;i++)
  {
  if (i==3)
    {
    break;
    }
  document.write("The number is " + i);
  document.write("<br />");
  }
</script>
</body>
</html>

عبارت Continue

عبارت Continue  حلقه جاری را می شکند و با مقدار بعدی ادامه پیدا می کند .

مثال

<html>
<body>
<script>
var i=0
for (i=0;i<=10;i++)
  {
  if (i==3)
    {
    continue;
    }
  document.write("The number is " + i);
  document.write("<br />");
  }
</script>
</body>
</html>

حلقه while در جاوا اسکریپت

مرداد ۱۱م, ۱۳۸۹

حلقه while

حلقه ی  while  ، یک بلاک از کد را تا زمانیکه شرطی برقرار باشد اجرا می کند.

Syntax

while (var<=endvalue)
  {
  code to be executed
  }

توجه: <=  می تواند هر عبارت مقایسه ای باشد.

مثال:

مثال زیر یک حلقه را با مقدار اولیه i=0 را تعریف کرده .حلقه تا زمانی که i کوچکتر ویا  مساوی ۵ است ادامه می یابد. مقدار i با هر بار اجرای حلقه یک واحد افزایش می یابد.

مثال:

<html>
<body>
<script>
var i=0;
while (i<=5)
  {
  document.write("The number is " + i);
  document.write("<br />");
  i++;
  }
</script>
</body>
</html>

حلقه  do … while:

حلقه  do … while یک نوع خاصی از حلقه ی while  است .این حلقه یک بلاک از کد را حداقل یک بار اجرا می کند سپس تا زمانی که شرط درست باشد آن را تکرار می کند.

Syntax

do
  {
  code to be executed
  }
while (var<=endvalue);

مثال:

مثال زیر از حلقه ی do … while  استفاده کرده است . حلقه ی do … while  حداقل یک بار اجرا می شود ؛ حتی زمانی که شرط غلط باشد. زیرا قبل از اینکه شرط بررسی گردد بدنه آن اجرا می شود .

          <html>
<body>
<script>
var i=0;
do
{
document.write("The number is " + i);
document.write("<br />"); 
i++;
 }
while (i<=5);
</script>
</body>
</html>

حلقه for در جاوا اسکریپت

مرداد ۱۱م, ۱۳۸۹

حلقه های جاوا اسکریپت

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

در جاوا اسکریپت دو نوع مختلف از حلقه ها وجود دارد

حلقه   : for یک بلاک از کد را به تعداد مشخصی اجرا می کند.
حلقه: while یک بلاک از کد را تا زمانیکه شرطی برقرار است اجرا می کند.

حلقه : for
حلقه for  زمانی که شما می دانید که چند بار یک اسکریپت باید اجرا شود استفاده می شود .

Syntax

for (var=startvalue;var<=endvalue;var=var+increment)
{
code to be executed
}

مثال:
مثال زیر برای یک حلقه با مقدار ابتدایی i=0  تعریف شده است .حلقه تا زمانی که  iکوچکتر یا مساوی ۵ باشد ادامه پیدا می کند . مقدار i با هر بار اجرای حلقه یک واحد افزایش می یابد.

توجه : مقدار پارامتر اضافه شونده می تواند منفی باشد و <= می تواند هر عبارت مقایسه ای باشد.

Example

<html>
<body>
<script>
var i=0;
for (i=0;i<=5;i++)
{
document.write("The number is " + i);
document.write("<br />");
}
</script>
</body>
</html>

حلقه while :
این حلقه در مبحث بعدی مطرح خواهد شد .

توابع جاوا اسکریپت JavaScript functions

مرداد ۱۱م, ۱۳۸۹

برای جلوگیری از اجرای یک قطعه کد توسط مرورگر می توانید آن را در یک تابع قرار دهید.
یک تابع شامل کدهایی است که زمانی که یک رویداد خاص رخ دهد و یا تابع فراخوانی شود اجرا می شود.
شما ممکن است یک تابع را در هر جایی از صفحه فراخوانی کنید ( یا حتی در صفحات دیگر اگر تابع در داخل فایل با پیوند “.js”  جا سازی شده باشد.)
تابع در هر دو قسمت “head”  و یا “body” می تواند تعریف شود.
اگر چه برای اطمینان از اینکه قبل از فراخوانی ، آن تابع توسط مرورگر خوانده و بارگذاری شده است می توانید آن را در قسمت < head >  قرار دهید.

چگونه یک تابع را تعریف کنیم

دستورالعمل برای ایجاد تابع:

function functionname(var1,var2,...,varX)
{
some code
}

Var1,var2,… متغیرها و مقدارها را به تابع می فرستند} و { آغاز و پایان یک تابع را تعیین می کنند.
توجه: یک تابع بدون پارامتر باید بعد از نام تابع شامل پرانتز () باشد.

function functionname()
{
some code
}

توجه: حساس به حروف بزرگ / کوچک بودن در جاوا اسکریپت را فراموش نکنید! کلمه ی  function  باید با حروف کوچک نوشته شود وگرنه پیغام خطا صادر می شود . اگرچه ما اسم تابع را برای فراخوانی باید دقیقا به همان شکلی که تعریف شده است بنویسیم.

مثالی از یک تابع در جاوا اسکریپت

<html>
<head>
<script type="text/javascript">
    function displaymessage()
    {
       alert("Hello World!");
    }
</script>
</head>

<body>
    <form>
       <input type="button" value="Click me!" onclick="displaymessage()" />
    </form>
</body>
</html>

اگر خط  alert(“Hello world!!”) در مثال بالا داخل تابع قرار نگرفته بود ، این خط به محظ لود صفحه اجرا می شد. حالا قبل از اینکه کاربر دکمه را فشار دهد اسکریپت اجرا نمی شود.
ما باید یک رویداد onclick را به دکمه برای اجرای تابع displaymessage() اضافه کنیم تا با کلیک بر روی دکمه این تابع فراخوانی شود.
نکات بیشتری در مورد رویدادهای جاوا ایکریپت را در فصل رویدادها یاد خواهیم گرفت.

عبارت بازگشتی :

عبارت بازگشتی برای تعیین مقدار بازگشتی تابع استفاده می شود .
بنابراین ، توابعی که مقدار بازگشتی دارند باید از این عبارت استفده نمایند.

مثال

تابع زیر باید حاصلضرب دو تابع را برگرداند

<html>
<head>
<script type="text/javascript">
    function product(a,b)
    {
         return a*b;
    }
</script>
</head>

<body>
    <script type="text/javascript">
         document.write(product(4,3));
    </script>
</body>
</html>

زمانی که شما تابع بالا را فراخوانی می کنید شما باید دو پارامتر را به تابع بفرستید.

p=product(2,3);

مقدار بازگردانده شده از تابع ۶ است و این مقدار میتواند داخل متغیر یا برای نمایش روی صفحه استفاده شود.

عمر متغیرهای جاوا اسکریپت

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

مترجم: فاطمه سیفی

پنجره های popup در جاوا اسکریپت

مرداد ۷م, ۱۳۸۹

پنجره هشدار

پنجره هشدار زمانی استفاده می شود که بخواهید مطمئن شوید اطلاعات از طرف کاربر رسیده است. زمانی که یک پنجره هشدار ظاهر می شود ، کاربر باید برای ادامه عملیات بر روی گزینه ok کلیک کند.

Syntax:

alert("sometext");

پنجره تایید

پنجره تایید معمولا زمانی استفاده می شود که کاربر چیزی را قبول یا بررسی کند.
زمانی که یک پنجره تایید ظاهر می  شود ، برای ادامه ، کاربر باید بر روی “ok”  یا “cancel” کلیک کند.
اگر بر روی “ok” کلیک کند ، پنجره مقدار “true”  و اگر بر روی “cancel” کلیک کند مقدار “false” بر می گرداند.

Syntax:

confirm("sometext");

پنجره دریافت پیام Prompt

پنجره پیام زمانی استفاده می شود که شما بخواهید کاربر یک مقدار را قبل از داخل شدن به صفحه وارد کند.
زمانی که یک پنجره پیام ظاهر می شود کاربر می تواند بر روی “ok” و یا “cancel” کلیک کند تا بعد از وارد کردن مقدار ، عملیات ادامه پیدا کند.
اگر بر روی “ok” کلیک کند ، پنجره مقدار را بر می گرداند و اگر بر روی “cancel” کلیک کند هیچ مقداری را بر نمی گرداند.

Syntax:

prompt("sometext","defaultvalue");

مترجم: فاطمه سیفی

عبارت switch در جاوا اسکریپت

مرداد ۷م, ۱۳۸۹

شما باید از  switch  زمانی استفاده کنید که بخواهید از بین تعداد زیادی از بلوکهای کد یکی از آنها اجرا شود .

Syntax

switch(n)
{
case 1:
  execute code block 1
  break;
case 2:
  execute code block 2
  break;
default:
  code to be executed if n is
  different from case 1 and 2
}

نحوه کار : اول ما یک عبارت واحد  n  داریم ( اغلب اوقات یک متغیر) که فقط یک مرتبه ارزیابی می شود . مقادیراین عبارت با مقدار هر  case  در ساختار مقایسه می شود اگر برابر بود بلاک حاوی آن که وابسته به آن است  اجرا می شود . از  break  برای جلوگیری از اینکه به طور اتوماتیک به  case  بعدی نرود استفاده می شود .

مثال

<script type="text/javascript">
//You will receive a different greeting based
//on what day it is. Note that Sunday=0,
//Monday=1, Tuesday=2, etc.

var d=new Date();
theDay=d.getDay();
switch (theDay)
{
case 5:
  document.write("Finally Friday");
  break;
case 6:
  document.write("Super Saturday");
  break;
case 0:
  document.write("Sleepy Sunday");
  break;
default:
  document.write("I'm looking forward to this weekend!");
}
</script>

مترجم: فاطمه سیفی