article

دستور switch و case در جاوا اسکریپت (JavaScript)

javascript-switch-case

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

در مباحث پیشین از آموزش مقدماتی جاوا اسکریپت دیدیم که چگونه با عبارات if و else و ترکیب آنها یعنی elseif دستورات شرطی (Conditional Statements) تعریف و استفاده کنیم، همچنین با حلقه های for و while به کمک مثال هایی آشنا شدیم، اکنون می خواهیم ببینیم که دستور switch و case که جزء دسته دستورات کنترلی (Control Statements) است چه کاربردی در جاوا اسکریپت دارد و به چه منظوری در زبان های برنامه نویسی معرفی شده است.

کاربرد دستور switch و case در جاوا اسکریپت (JavaScript)


به صورت ساده از دستور سوئیچ (switch) برای انتخاب مورد (case) مد نظر از بین موارد موجود بر اساس درست (true) شدن و برقرار بودن مقایسه switch و case های آن استفاده می شود، به طور مثال در سایتی چندزبانه کاربر می تواند از بین زبان های موجود یک مورد را به عنوان زبان مد نظر خود انتخاب کند، در این حالت برای ایجاد قدرت تصمیم گیری در برنامه و اجرای ادامه دستورات مطابق با مقدار انتخابی کاربر، زبان انتخابی را در متغیر فرضی lang مقداردهی کرده و به عنوان switch در نظر می گیرم، زبان های قابل انتخاب را نیز به عنوان case ها فرض می کنیم، به این ترتیب می توانیم رابطه بین switch و case ها را به صورت نمونه زیر مورد به مورد مقایسه کنیم:
<script>
var lang = 'Fa';

switch(lang) {
    case 'Fa':
    document.write("زبان سایت فارسی است!");
    break;
    case 'En':
    document.write("Website language is English!");
    break;
    default:  
    document.write("Default language!");
}
</script>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
زبان سایت فارسی است!
توضیح:
- در مثال بالا ابتدا در متغیر فرضی lang زبان فارسی (FA) را به عنوان مقدار پیش فرض تنظیم کرده ایم (در برنامه های کاربردی این مقدار می تواند از آدرس URL، فیلد input، کوکی یا ورودی های دیگری دریافت شود)، سپس در قسمت مربوط به دستور switch مقادیر متغیر lang را به عنوان کلید بررسی می کنیم که به این صورت دستور switch بین case های خود مورد به مورد جستجو نموده و در صورتی که مقادیری مشابه با مقدار متغیر lang پیدا شود آن case را انتخاب و عملیات تعریف شده اجرا می شود (در این مثال با دستور document.write مقادیر متنی در خروجی صفحه وب چاپ می شود)، اگر هیچ کدام از case ها با مقادیر متغیر lang همخوانی نداشته باشند قسمت مربوط به عملیات پیش فرض یا default اجرا خواهد شد، در نظر گرفتن قسمت default اختیاری است.
- دقت کنیم که پس از هر case یک break درج کرده ایم که مفهوم آن خاتمه اجرای دستور switch است، یعنی هر کجا نتیجه جستجوی دستور switch درست (true) باشد قسمت مربوط به break اجرا شده و فرآیند switch و case خاتمه می یابد.
- اگر break را از کد بالا حذف کنیم همه مقادیر case ها به خروجی ارسال می شوند، در واقع کد را باید در جایی متوقف می کردیم که این کار را انجام نداده ایم.
- در فرآیند اجرای دستور switch می توانیم ممکن است نیاز باشد به جای یک case دو یا چند مورد عملیاتی واحد را اجرا کنند، به فرض اگر بخواهیم جهت نمایش حروف سایت را مشخص کنیم قاعدتا برای زبان فارسی و عربی از راست به چپ و برای زبان های انگلیسی، فرانسه و... از چپ به راست خواهد بود، در اینگونه موارد از case های چندگانه متوالی استفاده می کنیم، مثال:
<script>
var lang = 'Fa';

switch(lang) {
    case 'Fa':
    case 'Ar':
    alert("RTL!");
    break;
    case 'En':
    case 'Fr':
    alert("LTR!");
    break;
}
</script>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
RTL!
با توجه به این نمونه کد در صورتی که مقادیر متغیر lang یکی از موارد Fa یا Ar باشد قسمت اول دستور اجرا می شود، اما اگر مقادیر متغیر lang یکی از موارد En یا Fr باشد قسمت دوم دستور اجرا خواهد شد.
نکته: مفسر جاوا اسکریپت در هنگام مقایسه مقادیر متغیر switch با case ها از علامت === استفاده می کند، یعنی دو قسمت باید از هر نظر (نوع و مقدار) یکسان باشند تا نتیجه مقایسه true شود.

استفاده از دستور switch در حالت داینامیک


اصولا زبان های برنامه نویسی برای انجام هوشمندانه فرآیندها ساخته شده اند، به عبارتی معمولا ورودی و خروجی برنامه ها از قبل مشخص نیست و می توانند یک مقدار داینامیک و غیرثابت باشند، در مورد دستور switch هم این قاعده جاری است و امکان استفاده از مقادیری داینامیک و متغیر برای مقایسه case ها وجود دارد، به طور مثال می توانیم کدی بنویسیم که در صفحه وب با توجه به نام کاربری افراد یا زمان فعلی سیستم پیامی به آنها نشان داده شود یا در حالت های پیشرفته تر با دریافت اختلاف زمانی کشور کاربر و مقایسه آن با زمان سرور کارها را به وقت محلی تنظیم نمود و بسیاری ایده دیگر، در مثال زیر  با استفاده از توابع Date و getDay عدد متناظر با هر روز (از روزهای هفته) را دریافت و با توجه به مقدار آن یکی از موارد (case) ها را به خروجی ارسال کرده ایم که بر اساس روزهای هفته خروجی ما نیز متغیر خواهد بود، به این صورت می توانیم به صورت داینامیک و بدون در نظر گرفتن مقادیر اولیه از دستور switch و case در جاوا اسکریپت استفاده کنیم:
<script>
var date = new Date();
var today = date.getDay();
switch(today) {
    case 1:
    document.write("با توجه به تاریخ سیستم، امروز دوشنبه است!<br>");
    break;
    case 2:
    document.write("با توجه به تاریخ سیستم، امروز سه شنبه است!<br>");
    break;
    case 3:
    document.write("با توجه به تاریخ سیستم، امروز چهارشنبه است!<br>");
    break;
    case 4:
    document.write("با توجه به تاریخ سیستم، امروز پنجشنبه ست!<br>");
    break;
    case 5:
    document.write("با توجه به تاریخ سیستم، امروز جمعه است!<br>");
    break;
    case 6:
    document.write("با توجه به تاریخ سیستم، امروز شنبه است!<br>");
    break;
    case 7:
    document.write("با توجه به تاریخ سیستم، امروز یکشنبه است!<br>");
    break;            
    default:  
    document.write("بروز مشکل در نمایش تاریخ سیستم!<br>");
}
</script>
توضیح:
- کلاس date در حالت عادی از تاریخ میلادی سیستم کاربر پیروی می کند، لذا بر اساس اینکه یکشنبه روز تعطیل (روز هفتم) در تقویم میلادی است شروع شمارش روزهای هفته از دوشنبه (case 1) خواهد بود.
- اعدادی که به عنوان مقادیر به case ها داده شده اند در واقع حاصل و نتیجه برگردانده شده از متد date.getDay بوده که با توجه به تاریخ تنظیم شده سیستم بین مقادیر 1 تا 7 (هفت روز هفته) در نوسان خواهند بود.
- برای بررسی نحوه عملکرد دستورات جاوا اسکریپت کافی است نمونه کدها را کپی و در صفحه وب به کمک برنامه های ویرایشگر HTML مانند برنامه Adobe Dreamweaver، PhpStorm یا حتی ++Notepad درج و در نهایت با فرمت html یا htm ذخیره و فایل را با مرورگر اجرا کنیم.

استفاده از دستور switch بدون متغیر مقایسه


در مثال ها و نمونه کدهایی که تا این قسمت از آموزش بررسی کردیم دستور switch با یک متغیر همراه بود که برای مقایسه با case ها از آن استفاده کردیم، جالب است که دستور switch و case بدون وجود این متغیر مقایسه ای نیز قابل استفاده است، به طور مثال:
<script>
var number = 20;
switch(true) {
    case number < 20:
    alert('عدد از 20 کوچکتر است!');
    break;
    case number > 20:
    alert('عدد از 20 بزرگتر است!');
    break;
    case number == 20:
    alert('عدد با 20 برابر است!');
    break;
}
</script>
خروجی نمونه کد بالا به صورت زیر خواهد بود:
عدد با 20 برابر است!
همان طور که مشخص است به جای متغیر مقایسه از عبارت true استفاده و در هر case مقادیر متغیر فرضی number را بررسی کرده ایم.

کجا از if else و کی از switch case استفاده کنیم؟!


در زبان های برنامه نویسی دستور if else و switch case هر دو جزء خانواده دستورات کنترلی (Control Statements) هستند و برای تصمیم گیری در دو یا چندراهی های برنامه ها به کار می روند، این دو شکل از دستورات قابلیت جایگزینی به جای هم را دارند یعنی یک الگوریتم را هم می توانیم با if else و هم با switch case پیاده سازی کنیم، به طور مثال:
<script>
var a = 1;

if(a == 0) {
    alert(0);
} else if(a == 1) {
    alert(1);
} else if(a == 2) {
    alert(2);
}

switch(a) {
    case 0:
    alert(0);
    break;
    case 1:
    alert(1);
    break;
    case 2:
    alert(2);
    break;
}
</script>
خروجی هر دو دستور عدد 1 خواهد بود، با این شباهت سوالی که ممکن است به ذهن خطور کند این است که کجا باید از if else و کی از switch case استفاده کنیم؟!
در پاسخ باید گفت هر دستوری با فلسفه خاصی ایجاد و معرفی گردیده تا در بهینه ترین شکل ممکن نیاز برنامه نویسان را پوشش دهد، دستورات در برنامه نویسی شبیه ابزارها در دنیای واقعی هستند، پیچ چهارسو را با آچار دوسو می توانیم باز و بسته کنیم اما قاعدتا در این حالت آچار دوسو کاربرد و مزیت های آچار استاندارد چهارسو را نخواهد داشت! به عبارتی برای کار حرفه ای ابزار حرفه ای مورد نیاز است.
با این توضیح بهینه این است که از if else در شرایط زیر استفاده کنیم:
- حالت های شرطی محدود به یک یا چند مورد باشند (با یک یا چند دستور if else کدهای مورد نیاز برنامه نوشته شوند).
- کدهایی که با true شدن شرط اجرا می شوند بیش از چند خط باشند (بهتر است کدهای طولانی را بین بلاک های if else قرار دهیم).
- بررسی و مقایسه ی بیش از یک متغیر در شرط مورد نیاز باشد (گفتیم که در دستور switch صرفا یک متغیر به عنوان کلید مقایسه استفاده می شود).
- عملیاتی به غیر از عملگر === مورد نیاز باشد (اگرچه می توانیم دستور switch را به گونه ای بنویسیم که عملگرهای مقایسه ای به جزء عملگر پیش فرض === در آن استفاده شود، اما استفاده از if else در این شرایط ساده تر است و ارجحیت دارد).
استفاده از switch case نیز در شرایط زیر ارجحیت دارد:
- حالت های شرطی بیش از چند مورد باشند (شرایطی که ناچار باشیم if else های تو در توی چند لایه تعریف کنیم).
- بررسی و مقایسه صرفا به یک متغیر (به عنوان سوئیتچ) وابسته باشد.
- زمانی که با true شدن شرط چند مقایسه نتیجه واحد را اجرا کنند (گفتیم که می توانیم از چند case متوالی برای اجرای عملیات واحد در دستور switch استفاده کنیم).
نکته: در برنامه نویسی پروژه های کاربردی گاهی تصمیم گیری برای انتخاب شیوه بهینه به دلیل وجوه مشترک دستورات دشوار می شود، در این شرایط باید توجه داشته باشیم که کدام روش مزیت های بیشتری در اختیارمان قرار می دهد، هرچند رسیدن به این مهارت تا حدود زیادی نیازمند کسب تجربه کافی در دنیای برنامه نویسی وب است.

مثال و پیش نمایش آنلاین


مباحثی که در آموزش کاربرد دستور switch و case در جاوا اسکریپت (JavaScript) بررسی کردیم را با مثال زیر و پیش نمایش آنلاین آن به پایان می بریم.
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | استفاده از دستور switch در جاوا اسکریپت (JavaScript)</title>
<!-- Webgoo.ir -->
<style>
body {
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 12px;
    direction: rtl;
    line-height: 22px;    
}
.date {
    height: 20px;
    width: auto;
    background: #666;
    color: #FFFFFF;
}
</style>
</head>
<body>
<noscript>جاوا اسکریپت در مرورگر شما غیر فعال است یا پشتیبانی نمی شود!</noscript>
<div class="date">
<script>
var date = new Date();
var today = date.getDay();
switch(today) {
    case 1:
    document.write("با توجه به تاریخ سیستم، امروز دوشنبه است!<br>");
    break;
    case 2:
    document.write("با توجه به تاریخ سیستم، امروز سه شنبه است!<br>");
    break;
    case 3:
    document.write("با توجه به تاریخ سیستم، امروز چهارشنبه است!<br>");
    break;
    case 4:
    document.write("با توجه به تاریخ سیستم، امروز پنجشنبه ست!<br>");
    break;
    case 5:
    document.write("با توجه به تاریخ سیستم، امروز جمعه است!<br>");
    break;
    case 6:
    document.write("با توجه به تاریخ سیستم، امروز شنبه است!<br>");
    break;
    case 7:
    document.write("با توجه به تاریخ سیستم، امروز یکشنبه است!<br>");
    break;            
    default:  
    document.write("بروز مشکل در نمایش تاریخ سیستم!<br>");
}
</script>
</div>
- در این نمونه کد مقدار متغیر switch با یکی از case های آن مقایسه شده و در صورت برقرار بودن و true شدن رابطه، کد مربوط به آن مورد اجرا می شود.<br>
- متد getDay بر اساس تاریخ میلادی سیستم کاربر، روز متناظر از روزهای هفته را به صورت عدد 1 الی 7 برمی گرداند.<br>
<hr>
<script>
function checkLangDirection(id){
    var select_elm = document.getElementById(id);
    var option_value = select_elm.options[select_elm.selectedIndex].value;
    
    switch(option_value) {
        case 'Fa':
        case 'Ar':
        alert("RTL!");
        break;
        case 'En':
        case 'Fr':
        alert("LTR!");
        break;
    }
}
</script>
<label for="lang">انتخاب یک زبان:</label>
<select name="lang" id="lang">
<option value="Fa">Fa</option>
<option value="En">En</option>
<option value="Ar">Ar</option>
<option value="Fr">Fr</option>
</select>
<button onclick="checkLangDirection('lang')">بررسی جهت نوشتار</button>
<br>
- در این نمونه کد دستور switch و case های متوالی را در تابع فرضی checkLangDirection استفاده و به کمک رویداد onclick تابع را فراخوانی نموده ایم.<br>
- در خصوص توابع و رویدادها در آموزش های پیش رو به صورت مفصل صحبت خواهیم کرد.
</body>
</html>
پیش نمایش آنلاین
sectionدسته بندی: آموزش مقدماتی » JavaScript
related مطالب بیشتر:
» آرایه (Array) در جاوا اسکریپت (JavaScript)
» کار با پنجره Pop-up در جاوا اسکریپت (JavaScript)
» شروعی بر برنامه نویسی جاوا اسکریپت (JavaScript)
» تعریف و استفاده از متغیر (Variable) در جاوا اسکریپت (JavaScript)
» حلقه for و while در جاوا اسکریپت (JavaScript)
commentنظرات (۷ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: صنوبر
۱۹:۰۰ ۱۳۹۲/۰۸/۱۶
بعضی مواقع در switch عدد 1 برابر true و 0 برابر false میشود
نویسنده: مهران
۰۸:۲۶ ۱۳۹۲/۱۱/۰۸
خسته نباشید و بسیار عالی
میخواستم بدون اون new بکار رفته قبل از تابع تاریخ به چه دلیل هست در اینجا
var date = new Date()
و اینکه چرا برای به دست آوردن روز تابع date را با استفاده از یک نقطه به تابع getDay متصل کردید. ارگومانی برای محدود سازی بر این تابع تاریخ وجود ندارد یا کلا باید توابع در جاوا اسکریپت برای همچین کاری با هم ترکیب بشن و اینکه برای ترکیب دو تابع با هم از نقطه استفاده میشه همیشه ؟
var today = date.getDay()
پاسخ: 
عبارت new در دستورات جاوا اسکریپت برای ایجاد یک نمونه از کلاس به کار می رود (یعنی متغیر date منبع یک نمونه از کلاس Date است)، عبارت نقطه هم برای فراخوانی متدی از کلاس کاربرد دارد، به فرض وقتی date یک نمونه از کلاس Date است، می تواند متدهای آن کلاس از جمله getDay را فراخوانی کند که نتیجه ی این متد مقدار عددی روزی از روزهای هفته (بین 0 تا 6) است.
نکته: اصطلاح کلاس و متد در برنامه نویسی شی گرا (Object-oriented) به کار می روند.
نویسنده: علی رضا
۱۱:۵۵ ۱۳۹۴/۰۱/۲۸
سلام
ممنون از توضیحات خوبتون
می شود برنامه ی سوئیچ را در جاوا اپلیکیشن هم استفاده کرد ؟
پاسخ: 
سوالتان مبهم است! جاوا اسکریپت با جاوا فرق می کند!
نویسنده: qaasem
۱۱:۵۷ ۱۳۹۴/۰۳/۲۵
دمتگرم داداش
نویسنده: kia
۰۴:۴۱ ۱۳۹۴/۰۴/۱۰
ممنون از وب خوبتون
نویسنده: mehran20
۲۰:۴۰ ۱۳۹۷/۰۸/۲۲
سلام. ببخشید من یک تگ p دارم میخوام شرط گذاری که مثلا متنش: اطلاعات با موفقیت ثبت شد، بود رنگ همین متن آبی و یک تگی بعدش ظاهر بشه و متنی دیگر بود رنگ دیگری بشه این چطوریه؟
پاسخ: 
ساختار دقیق کدها و برنامه شما مشخص نیست، با توجه به توضیحات در حالت کلی با نمونه متدهای زیر این کار شدنی است:
<p id="p-1">اطلاعات با موفقیت ثبت شد</p>
<p id="p-2">متن بعدی</p>

<script type="text/javascript">
function checkColorPTag(id){
var elm = document.getElementById(id);

switch(elm.innerText){
case 'اطلاعات با موفقیت ثبت شد':
elm.style.color = '#0084FF';
break;
case 'متن بعدی':
elm.style.color = '#FF0004';
break;
}
}

checkColorPTag('p-1');
checkColorPTag('p-2');
</script>
نکته: اسکریپت باید بعد از تگ ها در صفحه درج شود یا اینکه تابع با رویداد window.onload فراخوانی گردد.
نویسنده: aseman
۱۴:۴۵ ۱۳۹۸/۱۲/۰۴
با سلام . میخوام هر وقت توی تکس باکسم عدد 1 وارد شد در خروجی تگ p معادل حروفی یک رو بهم بده.
مثلا: وارد میکنم من 1 درس دارم و 1 واحد
خروجی باید بشه : من یک درس دارم و یک واحد
با سوییچ کیس هم امتحان کردم نشد .
ممنون میشم راهنمایی کنید
پاسخ: 
برای تبدیل اعداد به کلمات فارسی باید از دستورات با قاعده استفاده کنید، مثال:
<script>
function convertValueToPersian(from, to){
var elm_from = document.getElementById(from);
var elm_to = document.getElementById(to);
var value = elm_from.value;

var result = value.replace(/0/g, "صفر");
result = result.replace(/1/g, "یک");
result = result.replace(/2/g, "دو");
result = result.replace(/3/g, "سه");

elm_to.innerHTML = result;
}
</script>
<label for="input-from">فیلد:</label>
<input type="text" id="input-from" onkeyup="convertValueToPersian('input-from', 'p-to');"><br>
نتیجه:
<p id="p-to"></p>
البته این صرفا تابع ساده و در شرایطی است که اعداد کوچکتر از 10 رقم باشند، برای بیشتر از این مقدار باید کدهای پیچیده تری بنویسید که احتمالا کار زمانبری خواهد بود.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





1 × 4
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form محمد رستمی
در:
سلام اگه میشه لیست توابع و کاربردشونو توی یه فایل pdf بزارین
۱۳۹۹/۰۹/۰۵

form شهریار صادقی
در:
من سه تا صفحه در php storm درست کردم یکی برای html یکی برای جاوا اسکریپت و جی کوِئری و یکی هم برای css اول...
۱۳۹۹/۰۹/۰۱

form دوست خوب
در:
اگر بخواهیم برای رفتن به مرورگر و باز کردن یک صفحه لینک دهیم؟
۱۳۹۹/۰۹/۰۱

form مجتهدزاده خیاوی
در:
سلام و خسته نباشید من جدولی دارم که تعداد ستون های اون نسبتا زیاده. توی نمایشگر های دسکتاپ مشکلی ندارم اما تو گوشی و...
۱۳۹۹/۰۸/۲۹

form Alireza
در:
خیلی ممنون از پاسخگویی سریع! بله خوشبختانه سرور هاست دانلود LiteSpeed هست و از جدیدترین PHP هم پشتیبانی میکنه. تو قسمت path هم دایرکتوری...
۱۳۹۹/۰۸/۲۹

form Alireza
در:
عرض سلام و خسته نباشید از مطالب استفاده کردم و نظرات هم خوندم واقعا مفید بودن. یکی دو نفر مشکلی شبیه بنده داشتن. من...
۱۳۹۹/۰۸/۲۹

form امیرحسین
در:
سلام استاد عزیز وقت بخیر من یه سوال در مورد function use داشتم اگه ممکنه با مثالی کاربردی توضیح بدید که کارش چیه :...
۱۳۹۹/۰۸/۲۷

form Amin Eskandari
در:
سلام عالی بود ممنون
۱۳۹۹/۰۸/۲۷

form فاطمه
در:
چگونه در حلقه ها اعداد را جمع کنیم و در خروجی مجموع انان را نشان دهد مثلا جواب
۱۳۹۹/۰۸/۲۶

form میکاییل
در:
درسته مشکلی نیست تو ارسال اطلاعات. تنها مشکلم اینه که هدر عمل نمیکنه و ریدایرکت انجام نمیشه و نمیره سمت صفحه پرداخت. حالا نمیدونم به...
۱۳۹۹/۰۸/۲۵

form میکاییل
در:
سلام من تو قسمتی از صفحه پرداخت انلاین دارم همه چی درسته و اطلاعات بصورت ایجکسی ارسال میشه و سمت سرور نوشتم که هدر...
۱۳۹۹/۰۸/۲۵

form mohsen
در:
با عرض سلام و خسته نباشید خدمت استاد ببخشید من یه فرمی دارم که از طریق ایجکس ثبت میشه داخل دیتا و بعد میره به...
۱۳۹۹/۰۸/۲۳

form مجید
در:
سلام وقت بخیر . ببخشید نمیشه دیتابیس توی کدنویسی html ایجاد کنیم افرادی هستن توی محل کارش اینترنت ندارن . اینو باید چکارکنم
۱۳۹۹/۰۸/۲۳

form حسینی سیانکی
در:
سلام مطلب خیلی مفید و کاملی بود. خسته نباشید
۱۳۹۹/۰۸/۲۰

form ar
در:
سلام ممنون از سایت خوبتون ببخشید من تازه دارم زبان برنامه نویسی جاوااسکریپت رو یاد میگیرم و لپتاپم لپتاپ نسبتا ضعیفی هست من...
۱۳۹۹/۰۸/۲۰
form saba
در:
سلام من این کد رو در قسمت کد های اختصاصی کاربر وارد کردم اما هیچ تغییری ایجاد نشد ممکنه راهنمایی کنید؟
۱۳۹۹/۰۸/۱۹
form مینا
در:
سلام. من میخوام از regex توی ماشین حساب استفاده کنم ممنون میشم منو راهنمایی کنین
۱۳۹۹/۰۸/۱۹
form intal
در:
سلام خسته نباشید من واقعا از وبگو ممنونم که این آموزش های ارزشمند رو در اختیار کاربران قرار میده راستش من هرکاری می کنم پوزیشن...
۱۳۹۹/۰۸/۱۷
form بهروز
در:
مهندس جان خیلی عالی بود دستت درد نکنه درست شد.
۱۳۹۹/۰۸/۱۷
form اصغر
در:
خوندمش خیلی ممنون مفید بود
۱۳۹۹/۰۸/۱۵
form بهروز
در:
ممنون، خیلی لطف کردید، چشم امتحان میکنم خبر میدم فقط یه موری رو یادم رفت عرض کنم اینکه مثلا لینک exm.ir/m/yyyy به...
۱۳۹۹/۰۸/۱۴
form بهروز
در:
ممنون از پاسخگویی سریعتان در سوال فوق yyyy متغیر هست یعنی هرسری یه عددی کلیک میشه مثلا exm.ir/1234 حالا میخوام ریدایرکت بشه به آدرس...
۱۳۹۹/۰۸/۱۴
form بهروز
در:
سلام اگه بخوام ادرس 1 رو به ادرس دو ریدایرکت کنم چطور انجام دهم:
۱۳۹۹/۰۸/۱۴
form Mori
در:
سلام. میخواستم بدونم که چگونه در html میشه چند لیست عمودی رو کنار هم قرار داد. یعنی در واقع لیست ها زیر هم نباشند. ...
۱۳۹۹/۰۸/۱۰
form مبین
در:
با سلام من می خواستم دستوری در دیتابیس بنویسم که بر اساس قد افراد نتایج را مرتب و چاپ کند و اگه قد برار بود...
۱۳۹۹/۰۸/۰۹
form عباس علیمردانی
در:
سلام. من یک سوال یا بهتر بگم خواهش داشتم ایا شما میتوانید وبلاگ رو فیلتر کنید؟ یعنی با حکم قضایی فیلتر بشه. وبلاگ برایه...
۱۳۹۹/۰۸/۰۹
form ابوالفضل
در:
سلام استاد اومدم امروز بعد از سالها سوالاتی که از شما استاد بزرگوارم میپرسیدم رو زیر این پست مرور می کردم واقعا چقدر مبتدی...
۱۳۹۹/۰۸/۰۹
form mahtab
در:
سلام وقتتون بخیر ببخشید من میخوام یه آهنگی رو بزارم وبم کدش تو اینترنت زدم اما نیاورد بی زحمت میشه راهنمایی کنین چجوری...
۱۳۹۹/۰۸/۰۸
form Mori
در:
بهترین سایت برنامه نویسی در ایران هستید
۱۳۹۹/۰۸/۰۷
form Mori
در:
سلام. چگونه باید در لیست برای هر کدام از اعضا به صورت جداگانه لینک بگذاریم؟؟
۱۳۹۹/۰۸/۰۷
form جیهوپ
در:
سلام استاد عزیز من میخواستم صفحه وبی ایجاد کنم مثل این صفحه وبی ایجاد کنید که مشخصات شما را در 3 پاراگراف با ویژگی...
۱۳۹۹/۰۸/۰۶
  در انتظار بررسی: ۲
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.