• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
ارتباطات و فن آوری اطلاعات (بازدید: 3558)
يکشنبه 29/10/1387 - 17:20 -0 تشکر 83668
فقط جاوا اسکریپت

تو این بخش میخوام مقالات و آموزشهایی که درمورد جاوا اسکریپته قرار بدم

البته از اول شروع نمی‌کنم

پس اگه از جاوا اسکریپت چیزی نمی‌فهمید بگید که من از پایه‌ای ترین نکات شروع کنم... 

يکشنبه 29/10/1387 - 17:29 - 0 تشکر 83671

کار با رشته ها در جاوا اسکریپت – بخش اول – مقدمات کار با رشته ها

در جاوا اسکریپت برای کار با رشته ها کافی است تا ابتدا یک متغیر تعریف کنیم:

var str=”This is a string!”;
این متغیر اکنون حاوی یک رشته است. البته شما میتوانید به صورت زیر نیز رشته مورد نظر خود را تعریف نمایید:
Var str=new String(“This is a string”);
روش دوم بر مینای ساختار شیء گرایی عمل میکند ولی همان روش اول ساده تر و پرکاربردتر است.
برای الحاق رشته ها به همدیگر نیز کافی است تا از عملگر + استفاده کنیم:
var str = “Ali” + “reza”;
پس از انجام دستور فوق محتوی متغیر str برابر “Alireza” خواهد بود.
یک مثال از کاربرد الحاق رشته ها میتواند این باشد که در فرمی نام و فامیل را در جعبه های متنی (text box) به طور جداگانه گرفته ایم و اکنون میخواهیم آنها را به هم چسبانده و نمایش دهیم.
در مثال زیر فرض کرده ایم که دو جعبه متنی به نامهای txtName و txtFamily برای گرفتن نام و فامیل قرار دارند:

var name=document.getElementById(“txtName”).value;
var family=document.getElementById(“txtFamily”).value;
document.write(“Hello “ + name + family);

محاسبه طول رشته

برای محاسبه طول رشته از ویژگی length استفاده میکنیم.

var str=”test string”;
document.write(str.length);

تبدیل حروف کوچک و بزرگ به همدیگر

برای این کار از دو متد به نامهای toUpperCase() و toLowerCase() که به ترتیب برای تبدیل به حروف بزرگ و کوچک به کار میروند استفاده مینماییم.

var str=”This is Complex”;
str=str.toLowerCase();

پس از اجرای دستورات فوق مقدار متغیر str برابر “this is complex” خواهد بود.

 --------------------------------------------------------------------------------------------

کار با رشته ها در جاوا اسکریپت – بخش دوم - پردازش زیر رشته ها
پردازش بخشهایی از رشته
به طور کلی با انجام عملیات زیر میتوانیم بخشهایی از رشته را پردازش کنیم : 
1- خواندن یک کاراکتر از یک رشته 
2- بدست آوردن قسمتی از یک رشته 
3- جستجوی یک رشته درون رشته دیگر 
4- قطعه قطعه کردن رشته (Split) 
5- به هم چسباندن رشته (Join)

خواندن یک کاراکتر از یک رشته

برای خواندن کاراکتر بخصوصی از یک رشته تنها کافی است تا اندیس (مکان) آن را با استفاده از متد charAt() بخوانیم. مثلا برای آن که بخواهیم دومین کاراکتر یک رشته را بخوانیم، از charAt(1) استفاده میکنیم 
نکته: در جاوااسکریپت اندیس آرایه ها از صفر شروع میشود. بنابراین اولین کاراکتر در اندیس صفر، یکمین کاراکتر در اندیس 1 و ... قرار دارند.

var str=”123456”; 
document.write(str.charAt(1));

در مثال بالا عبارت 2 روی صفحه چاپ خواهد شد.

بدست آوردن قسمتی از یک رشته

برای بدست آوردن قسمتی از یک رشته کافی است تا اندیس کارکتر آغازین و اندیس کاراکتر پایانی را به متد substring() بدهیم تا قسمت مورد نظر را استخراج کند. 
مثلا فرض کنید رشته ای داریم که میدانیم از کاراکتر 20 ام آن به بعد دیگر به درد نمیخورد و نیازی به ذخیره سازی آن نداریم. و تنها 20 کاراکتر اول آن رشته برایمان اهمیت دارد. 
بنابراین برای استخراج کاراکترهای مفید به این شکل عمل میکنیم:

var str=”some large string ………………………………..” 
str=str.substring(0,20);

نکته: در متد substring ترتیب اندیس ها مهم نیست. یعنی عبارت بالا را میتوان به صورت زیر هم نوشت:
str=str.substring(20,0);
این رفتار به این دلیل است که این متد در هر صورت عدد کوچکتر را بعنوان اندیس آغازین در نظر میگیرد.

جستجوی یک رشته درون رشته دیگر

بسیار وقتهاست که نیاز میشود بدانیم آیا رشته مورد نظر ما در درون خود حاوی رشته بخصوصی میباشد یا خیر. 
مثلا فرض کنید که کاربری در جعبه متنی مربوط به رزومه کاری خود، انواع زبانهای برنامه نویسی که با آنها کار کرده است را نوشته است. اکنون ما میخواهیم بدانیم آیا او با زبان C# نیز کار کرده است یا خیر. 
برای انجام این کار از متد indexOf() استفاده میکنیم. این متد در صورتی که رشته ای که ما به آن میدهیم در رشته اصلی موجود باشد، اندیس رشته مورد جستجو در رشته اصلی را برمیگرداند. در صورتی که رشته را پیدا نکند عدد -1 برخواهد گردانید

var str=”Java C# Asp.Net assembly Fox ”; 
if( str.indexOf(“C#”) > 0 ) 
document.write(“you have worked with C#”);

نکته: از آنجایی که ممکن است در رشته ای که کاربر وارد کرده است، کلمه C# را با حروف کوچک وارد کرده باشد، لذا بهتر است ابتدا آنچه کاربر وارد کرده را به حروف کوچک تبدیل کنیم و سپس با حروف کوچک در آن جستجو کنیم

var str=”Java C# Asp.Net assembly Fox ”; 
str=str.toLowerCase(); 
if( str.indexOf(“c#”) > 0 ) 
document.write(“you have worked with C#”);

نکته : در صورتی که رشته وارد شده حجیم باشد این کار چندان صحیح نیست چرا که تبدیل یک رشته بزرگ به حروف کوچک زمان بر است و در چنین شرایطی شاید بهتر باشد حالتهای ممکن را جستجو کنیم

var str=”Java C# Asp.Net assembly Fox ”; 
if( str.indexOf(“c#”) > 0 || str.indexOf(“C#”) > 0) 
document.write(“you have worked with C#”);

البته اگر تعداد حالتهای ممکن زیاد باشد بهتر است از همان روش اول استفاده نماییم. مثلا در جستجوی رشته Computer که از 8 کاراکتر تشکیل شده است، 16 حالت مختلف داریم!!!
---------------------------------------------------------------------------------
 کار با رشته ها در جاوا اسکریپت – بخش سوم - پردازش زیر رشته ها

قطعه قطعه کردن رشته (Split)

این عمل کاربر بسیاری زیادی در برنامه نویسی وب و بویژه در هنگام استفاده از فناوری Ajax دارد. در حقیقت در بسیاری مواقع نیاز داریم تا یک سری داده ها را در یک رشته جمع آوری کرده و آنها را با یک کاراکتر ویژه مثل کاما ، ویرگول و ... جداکنیم. سپس رشته را به مقصد ارسال نماییم. 
در مقصد نیازداریم تا رشته دریافتی را برحسب آن کاراکتر ویژه قطعه قطعه کرده و پردازش کنیم. عمل قطعه قطعه کردن رشته (Split) توسطی متدی به نام split() انجام میشود. خروجی این متد آرایه ای از رشته هاست.

var str=”Tehran,Isfahan,Shiraz,Yazd,Tabriz”;
var strArray=str.split(“,”);
document.write( strArray[0]);

خروجی مثال بالا عبارت Tehran است که بر روی صفحه چاپ خواهد شد.

به هم چسباندن رشته (Join)

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

var strArray;
strArray[0]=”Tehran”;
strArray[2]=”Isfahan”;
strArray[3]=”Tebriz”;
var strCity= strArray.join(“,”);

در مثال بالا در نهایت در رشته strCity مقدار Tehran,Isfahan,Tabriz قرار خواهد گرفت.
نکته: در صورتی که هیچ کاراکتر جداکننده ای برای متد join مشخص نکنید، این متد به طور خودکار کاراکتر کاما را بعنوان جداکننده استفاده خواهد کرد.
------------------------------------------------------------------------ 

مدیریت استثناها و خطاها در جاوا اسکریپت – بخش اول

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

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

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








--------------------------------------------------------------------------------
مدیریت استثناها و خطاها در جاوا اسکریپت – بخش دوم
 در بخش قبلی در خصوص مدیریت خطاها با استفاده از رخداد onerror صحبت کردیم. در این بخش روش ساخت یافته تر و مدرن تری را به شما نشان خواهیم داد که استفاده از آن به مراتب ساده تر و بسیار کارامد تر خواهد بود. 
در زبانهای شیء گرا از ساختاری به نام try catch استفاده میکنیم. این ساختار بر خلاف روش قبلی میتواند بارها در طول برنامه تکرار شود و به ازای هر خطا، یک ساختار و کد مدیریت کننده بخصوص داشته باشد.
در این روش ابتدا کدی را که مستعد خطا میباشد و احتمال میدهیم در زمان اجرا در آن خطا (Exception) رخ دهد، در بلوکی به نام try مینویسیم:

try
{
adddlert("Welcome guest!");
}

سپس در ادامه ساختاری به نام catch خواهیم آورد که این ساختار وظیفه رسیدگی کردن به خطایی (استثنایی) را دارد که در بلوک try ماقبل نوشته شده است.
دقت کنید که کدها موجود در قسمت Catch فقط و فقط در صورت رخ دادن خطا اجرا میگردند و در حالت عادی اجرا نخواهند شد. علاوه بر آن هر بلوک catch تنها به خطای بلوک try متناظر خود رسیدگی میکند و به دیگر قسمتهای برنامه کاری ندارد.
نمونه ای از این بلوک را میتوانید ببینید:

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/";
}
}

امکان دیگری که میتوانیم اضافه کنیم بلوکی به نام finally است. کدهای این بلوک تحت هر شرایطی (رخ دادن یا عدم رخ دادن خطا )اجرا خواهند شد. 
در صورت عدم وجود این بلوک، میدانیم که یا قسمت try اجرا میگردد یا قسمت catch . اما گاهی نیاز داریم در هر صورت و به طور مستقل از این دو بلوک، کدی بنویسیم که بدون در نظر گرفتن وضعیت خطا، اجرا گردد.

finally
{
alert(“welcome to my web site”)
}

یک نمونه از کد برنامه را در زیر میبینید:









برو به انجمن
انجمن فعال در هفته گذشته
مدیر فعال در هفته گذشته
آخرین مطالب
  • آلبوم تصاویر بازدید از کلیسای جلفای...
    آلبوم تصاویر بازدید اعضای انجمن نصف جهان از کلیسای جلفای اصفهان.
  • بازدید از زیباترین کلیسای جلفای اصفهان
    جمعی از کاربران انجمن نصف جهان، در روز 27 مردادماه با همکاری دفتر تبیان اصفهان، بازدیدی را از کلیسای وانک، به عمل آورده‌اند. این کلیسا، یکی از کلیساهای تاریخی اصفهان به شمار می‌رود.
  • اعضای انجمن در خانه شهید بهشتی
    خانه پدری آیت الله دکتر بهشتی در اصفهان، امروزه به نام موزه و خانه فرهنگ شهید نام‌گذاری شده است. اعضای انجمن نصف جهان، در بازدید دیگر خود، قدم به خانه شهید بهشتی گذاشته‌اند.
  • اطلاعیه برندگان جشنواره انجمن‌ها
    پس از دو ماه رقابت فشرده بین کاربران فعال انجمن‌ها، جشنواره تابستان 92 با برگزاری 5 مسابقه متنوع در تاریخ 15 مهرماه به پایان رسید و هم‌اینک، زمان اعلام برندگان نهایی این مسابقات فرارسیده است.
  • نصف جهانی‌ها در مقبره علامه مجلسی
    اعضای انجمن نصف جهان، در یك گردهمایی دیگر، از آرامگاه علامه مجلسی و میدان احیا شده‌ی امام علی (ع) اصفهان، بازدیدی را به عمل آوردند.