Phantom Wolf مهمان

آموزش جامع جاوا اسکریپت

35 پست در این موضوع

با عرض سلام خدمت تمام دوستان عزیز

قصد داریم در این تاپیک شما را با جاوا اسکریپت آشنا کنیم.

امیدوارم این تاپیک برای شما مفید واقع شود.

در ضمن برای دلگرمی اینجانب تشکر فراموش نشود.:thanks:

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش html و css آموزش لاراول آموزش cPanel آموزش php آموزش سئو وردپرس آموزش امنیت وردپرس آموزش وردپرس آموزش فرم ساز RSform آموزش سئو جوملا آموزش فروشگاه ساز Hikashop آموزش فروشگاه ساز ویرچومارت آموزش طراحی سایت آگهی تبلیغاتی آموزش امنیت جوملا آموزش طراحی سایت فروش فایل آموزش طراحی قالب ریسپانسیو با Helix آموزش جوملا 3 آموزش ساخت ربات دکمه ی شیشه ای آموزش ساخت ربات همکاری در فروش آموزش ساخت ربات جذب ممبر آموزش ساخت ربات ضد اسپم آموزش ساخت ربات پیوست فایل سورس ربات مدیر گروه | ربات مدیر گروه همسریابی

این اولین مطلب رو از یه جای دیگه کپی می کنم آخه زیاد حوصله ی مقدمه چینی ندارم:128fs318181:

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

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

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

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

تفاوت جاوااسکريپت با جاوا

تقريباً در هر جا که آموزش جاوااسکريپت هست اين مطلب هم مشاهده مي شود چون خيلي ها فکر مي کنند که اين دو با هم يکي بوده يا حداقل اينکه جاوااسکريپت ساده شده زبان جاوا براي کاربرد در وب مي باشد که اصلاً اين چنين نيست.

همانطور که ميدانيد جاوااسکريپت متعلق به شرکت نت اسکيپ مي باشد اما زبان جاوا متعلق به شرکت Sun Microsystems است. جاوااسکريپت در اصل يک زبان اسکريپت نويسي است نه يک زبان برنامه نويسي کامپيوتر، شايد بتوان اسکريپتها را يک نوع زبان برنامه نويسي خيلي سبک و ساده ناميد اما جاوا يک زبان برنامه نويسي کاملاً پيچيده مانند زبان C است. تفاوت ديگر آنها اينست که جاوااسکريپت توسط يک برنامه مفسر يعني interpreter در مرورگر تعريف و تفسير شده تا قابل اجرا باشد و حتماً هم اين کار در مرورگر انجام مي شود اما برنامه هاي جاوا بايد توسط يک کامپايلر Compiler ، کامپايل شده که کامپايل شدن يعني جمع آوري اطلاعات مورد نظر و ترجمه آن اطلاعات به زبان قابل فهم براي کامپيوتر و تبديل آن به يک برنامه کاربردي واحد و مستقل براي کاربر را گويند. به همين دليل برنامه هاي جاوا را که اپلت applet مي نامند، مستقل اجرا مي شوند. البته اپلتهاي جاوا را مي توان در صفحات وب هم گنجاند.

در يک جمله مي توان گفت که جاوااسکريپت فقط در صفحات وب تأثيرگذار است اما زبان جاوا براي خلق برنامه هاي پيچيده در کامپيوتر ساخته شده است.

قابليتهاي جاوااسکريپت

اکنون که يک مفهومي از زبان جاوااسکريپت را در ذهن داريد، بايد ببينيم که با آن چکار مي توانيم انجام دهيم يا بهتر بگويم که جاوااسکريپت چه کاري براي ما انجام مي دهد و چه قابليتهايي را در مرورگر ايجاد مي کند.

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

با استفاده از اين زبان مي توانيد متنهاي پويا و متحرک در صفحات و در نقاط مختلف مرورگرها مانند نوار وضعيت آنها خلق کنيد. يکي ديگر از قابليتهاي اين زبان عکس العمل نشان دادن به وقايع و اتفاقات مي باشد بطور مثال واکنش نسبت به کليک يکي از دکمه هاي موس يا فشردن يک کليد بر روي کيبورد و يا انجام عملي هنگام بسته شدن صفحه مرورگر.

جاوااسکريپت حتي مي تواند کدهاي اچ تي ام ال را بخواند و يا توليد کند که توسط اين خاصيت مي توانيد در هر زمان خاص يک متني را توليد يا تغيير دهيد و يا در زماني مشخص عکسي را جايگزين عکسي ديگر کنيد.

يکي از بهترين ويژگيهاي جاوااسکريپت، اعتبار بخشيدن به اطلاعات مي باشد مثلاً شما يک فرمي براي ارتباط با کاربر خود ساخته ايد و مي خواهيد قبل از اينکه آن اطلاعات به سرور فرستاده شود، بازبيني شده تا اگر مشکلي وجود داشته باشد به کاربر اطلاع داده شود تا در صدد رفع آن برآيد. چون جاوااسکريپت اصطلاحاً Client side است، يعني در سيستم کاربر اجرا شده و مستقل از وب سرور است مي تواند ترافيک روي سرور را کم کرده که اين موضوع يک امتياز مثبت براي ميزبانان وب محسوب مي شود.

1 کاربر پسند دیده است

Share this post


Link to post
Share on other sites

امروز داشتم توی کامپیوترم می گشتم دیدم قبلا" یه آموزش جاوااسکرپت داده بودم گفتم همونو بزارم راحت تر باشید:a2d3:

تگ اسکريپت

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

<script> ... </script>

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

language

اما تگ script مانند بقيه تگها داراي خصوصياتي مي باشد، يکي از آنها language است که مقدار آنرا بايد برابر با javascript قرار دهيد،

<script language="javascript">
</script>

براي مقدار javascript مي توانيد نسخه آن را هم بنويسيد. اين زبان هم مانند اچ تي ام ال داراي نسخه هاي مختلفي است که هر کدام آنها با قابليتهاي جديدي در وب توسعه يافتند. نسخه هاي اين زبان عبارتند از 1.0 ، 1.1 ، 1.2 ، 1.3 ، 1.4 و آخرين نسخه حال حاضر هم 1.5 مي باشد که هم اکنون اين نسخه با مرورگر مايکروسافت يعني اينترنت اکسپلورر سازگاري ندارد. فعلاً مرورگر اينترنت اکسپلورر از نسخه 1.3 اين زبان پشتيباني مي کند.

type

تگ اسکريپت خصوصيت type هم دارد که براي اين زبان بايد آنرا برابر با text/javascript قرار دهيد. نکته قابل توجه اينست که اگر اين خصوصيت را به اين تگ اضافه کنيد، مرورگر اينترنت اکسپلورر نسخه 1.5 اين زبان را ناديده مي گيرد و کد را اجرا مي کند. شما مي توانيد با اجراي کد زير هم اولين اسکريپت خود را تجربه کنيد و هم خصوصيت type را در IE امتحان کنيد.

خب مانند زبان اچ تي ام ال مي توانيد از يک ويرايشگر متن مانند برنامه Notepad استفاده کرده و کد زير را در آن وارد کنيد:

<html>

 <head>
<title> My JavaScript </title>
</head>
<body>
<script language="javascript1.5" type="text/javascript">
document.write(" Hello my friends ")
</script>
</body>
</html>

اکنون اين فايل را با پسوند htm ذخيره کنيد و سپس آنرا در مرورگر اينترنت اکسپلورر اجرا کنيد که جمله Hello my friends را بايد در صفحه ببينيد. حالا خصوصيت type را حذف کنيد و دوباره فايل را ذخيره و مشاهده کنيد، هيچ متني در صفحه ديده نميشود که با تغيير نسخه 1.5 به 1.3 آن متن دوباره نمايان خواهد شد. نوشتن نسخه جاوااسکريپت اجباري نيست يعني مي توانيد آنرا ننويسيد.

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

document.write(" Hello my friends ")

ببينيم در اينجا اين عبارت چگونه براي مرورگر تفسير مي شود. document يعني همان سند و فايل html که در آن اين عمليات بايد انجام شود و مرورگر به محض برخورد با اين عبارت آماده مي شود براي انجام کاري که بعد از يک نقطه نوشته مي شود. در اينجا بايد عمل write يعني نوشتن را انجام دهد اما چي بايد بنويسد، طبق قرارداد بايد هر چيزي که در بين پرانتز هست را بنويسد و چون محتواي داخل پرانتز مابين دو علامت نقل قول يعني " " قرار گرفته پس بايد بصورت يک string در بيايند. string يعني يک رشته کاراکتر که مي تواند هم حرف باشد هم عدد و هم علامت و خاصيت stringدر اين است که هرچيزي مابين دو علامت " " قرار گرفت عيناً بايد در صفحه نوشته شود.

در جاوااسکريپت به document يک object يعني شئ مي گويند و هنگامي که يک نقطه بعد از آن گذاشته مي شود آن شئ منتظر method خود مي شود که در اينجا همان write است. به عبارت ساده اين خط مي گويد که آن شئ را بردار و در آن توسط متد نوشتن چيزي بنويس.

ساده بود، نه؟ بقيه دستورات هم به همين راحتي است فقط بايد آنها را بنويسيد و تمرين کنيد تا در ذهنتان بمانند.

src

تگ script يک خصوصيت ديگر هم دارد که src است و با آن آشنا هستيد، بله همانطور که حدس زديد براي آدرس دهي است. کدهاي جاوااسکريپت را هم مانند استايل شيت مي توانيد در يک فايل جداگانه نوشته و با پسوند js ذخيره کنيد سپس با خصوصيت src آدرس آن فايل را مشخص کنيد. توجه داشته باشيد که در آن فايل نبايد ديگر تگ script را بنويسيد. معمولاً در اين حالت تگ اسکريپت در قسمت head گنجانده مي شود تا با شروع صفحه فايل جاوااسکريپت فراخواني شود.

<html>
<head>
<script language="javascript" src="jsfiles/name.js" type="text/javascript">
</script>
</head>

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

خب تا آموزش بعدی خدا نگهدار:auizz3ffy9vla57584x

Share this post


Link to post
Share on other sites
خواهشا این راه تا اخر ادامه بدید زیرا نیاز به یادگیری جاوا اسکریپت دارم:thanks:

چشم داداشی سعیم رو می کنم

Share this post


Link to post
Share on other sites

چگونگي دريافت پيغام خطا

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

[ATTACH=CONFIG]1388[/ATTACH]

در بعضي از مرورگرها اين نوار مشاهده نمي شود که مي توانيد براي مشاهده آن به منوي View مرورگر رفته و روي گزينه Status Bar کليک کنيد. حالت ديگر ديدن پيغامهاي خطا، باز شدن يک پنجره در وسط مرورگر است که در اين حالت جزئيات خطاي ايجاد شده را هم مي توانيد مشاهده کنيد. مانند شکل زير:

[ATTACH=CONFIG]1389[/ATTACH]

توجه داشته باشيد، در نسخه هاي جديد مرورگر اينترنت اکسپلورر اين پنجره مشاهده نميشود و ابتدا آنرا بايد فعال کنيد. براي فعال کردن آن به منويTools مرورگر رفته و گزينه Internet Options را انتخاب کنيد، در پنجره باز شده به قسمت Advanced رفته و گزينه Display a notification about script error را تيک بزنيد، سپس دکمه Ok را زده تا کار شما تأييد شود. بهتر است که قبل از شروع کد نويسي جاوااسکريپت اين عمل را انجام دهيد تا هنگام بروز خطا در صدد رفع آن برآييد که به اين کار اشکال زدايي يا Debugging مي گويند. اگر هم اين گزينه را فعال نکرديد، هنگام بروز خطا مي توانيد بر روي آن مثلث زرد رنگ در نوار وضعيت رفته و دوبار کليک کنيد که همان پنجره اعلان خطا باز خواهد شد.

انواع خطاها

اساساً دو نوع خطا براي جاوااسکريپت وجود دارد، خطاهاي نحوي يا Syntax errors و خطاهاي زمان اجرا يا Run time errors که در خطاهاي نحوي يک مشکلي در ترکيبات کدها بوجود آمده مثلاً يک غلط املائي در يک دستور يا جا انداختن يک حروف يا علامت و در خطاهاي زمان اجرا احتمالاً يک دستور بطور اشتباه جاي يک دستور ديگر نوشته شده است که در هنگام اجراي کد، مفسر مرورگر نمي تواند اين دستور را تجزيه تحليل کند وخطا را اعلام مي کند.

ايجاد يک خطا

خب حالا اجازه دهيد تا اين پيغامها را تجربه کنيم و ببينيد که به چه راحتي توسط آنها مي توانيد اشکال زدايي کرده و کد خود را به سرعت اصلاح کنيد. ممکن است که دهها بار با پيغام خطا روبرو شويد ولي نااميد نشويد چون حرفه اي ها هم بارها و بارها با آن مواجه مي شوند. حالا کد زير را با نامerror.htm ذخيره کنيد:

<html>
<head>
<title> Error message </title>
</head>
<body>
<script language="javascript" type="text/javascript">
document.write("I'm ready for first error message.");
</script>
</body>
</html>

يکبار آنرا اجرا کنيد و نتيجه را مشاهده کنيد. حالا پرانتز دوم راحذف مي کنيم، بدين صورت:

document.write("I'm ready for first error message.";

سپس فايل را دوباره ذخيره کرده و اجرا مي کنيم. همانطور که انتظار داشتيم پنجره پيغام خطا باز شد، اگر جزئيات پيغام را نداريد روي دکمه Details ياShow Details کليک کنيد تا ببينيم که چه اطلاعاتي را مي توانيم بدست آوريم. در کادر جزئيات اولين گزينه Line مي باشد که اگر مطابق کد بالا عمل کرده باشيد بايد درجلوي آن عدد 7 نوشته شده باشد. اين خط به ما مي فهماند که ايراد در خط هفتم سورس کد است. دقت کنيد، تنها خطهاي مربوط به جاوااسکريپت را نبايد بخوانيد بلکه کليه خطوط از بالا به پايين خوانده مي شود، حتي خطهاي خالي هم بايد شمرده شوند.

دومين گزينه، کلمه Char است که بيانگر عدد شمارش شده کاراکتري که باعث بروز خطا شده است و در اينجا آن عدد 52 مي باشد. فراموش نکنيد که هر فاصله بين کلمات هم يک کاراکتر به حساب ميايد. شايد اينجا سؤالي برايتان پيش بيايد که چرا عدد 52 ؟ در صورتي که در اينجا پرانتز کاراکتر51 است. بايد يک نکته را خدمتتان عرض کنم که علامت ; در جاوااسکريپت يک کاراکتر اختياري است که نشان دهنده پايان يک خط از کد مي باشد و برنامه نويسان بر حسب عادتي که دارند از اين علامت استفاده مي کنند ، در اينجا مفسر جاوااسکريپت آنرا به عنوان يک کاراکتر قبل از کاراکتر اصلي خطا شناسايي کرده است.

گزينه بعدي Code ميباشد که ظاهراً بطور معمول عدد صفر جلوي آن ميباشد و هنوز نتوانستم کارآيي آنرا تشخيص بدهم و گزينه آخر هم URL است که آدرس فايل اچ تي ام ال است که در آن خطا توليد شده است.

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

به عنوان جمله آخر اين قسمت، هميشه به پنجره هاي اعلان خطا با ديد مثبت نگاه کنيد چون آنها به ما کمک مي کنند تا اشکال را براحتي پيدا کنيم.

:28::28:

Share this post


Link to post
Share on other sites

در حال حاضر شما ميدانيد که براي اجرا شدن کدهاي جاوااسکريپت بايد آنها را در ميان تگهاي اچ تي ام ال بکار بريد. شايد اين سؤال برايتان پيش بيايد که در کجا بايد آنها را بنويسيد، آيا جاي خاصي دارند يا در هر کجا مي توانيد اينکار را انجام دهيد. کدهاي جاوااسکريپت مي توانند در هر کجاي سورس کد باشند اما بايد ابتدا تشخيص دهيد که بکاربردن هر قسمت از اسکريپت در کجا مناسب تر مي باشد. بطور کل کدهاي جاوااسکريپت به سه دسته تقسيم ميشوند، يک سري از آنها در قسمت سر يعني head جاي مي گيرند و يک سري در قسمت بدنه کدهاي اچ تي ام ال و دسته سوم هم در يک فايل جداگانه و خارج از کدهاي html با پسوند js قرار مي گيرند که در ادامه به توضيح هر دسته خواهيم پرداخت.

نوشتن اسکريپت در قسمت [head]

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

<html>
<head>
<title> ... </title>
<script language="javascript" type="text/javascript">
...... javascript codes ......
</script>
</head>

نوشتن اسکريپت در قسمت بدنه

هنگاميکه نياز داشته باشيد تا کدهاي جاوااسکريپت در بدنه فايل html اجرا شود آنها را در قسمت body صفحه وارد مي کنيد،

<html>
<head>
</head>
<body>
<script language="javascript" type="text/javascript">
....... javascript codes ......
</script>
</body>
</html>

شما حتي مي توانيد توسط کدهاي جاوااسکريپت قسمتي از يک صفحه را بسازيد يعني با ترکيب جاوااسکريپت و تگهاي اچ تي ام ال در body يک عنصر در صفحه وارد کنيد. کدهاي زير را بنويسيد و اجرا کنيد:

<html>
<head>
</head>
<body>
<script language="javascript" type="text/javascript">
document.write("<h1 align='center'> Hello my friends! </h1>");
</script>
</body>
</html>

لازم بذکر است که شما مي توانيد براي نظم دادن و جلوگيري از شلوغي قسمت بدنه يک اسکريپت بصورت function در قسمت head تعريف کنيد و در قسمت بدنه آنرا فراخواني کنيد که در قسمت هاي بعد در اين مورد بيشتر توضيح خواهم داد.

فايل خارجي جاوااسکريپت

شما مي توانيد براي حفظ نظم تگهاي اچ تي ام ال در يک صفحه وب و يا براي جلوگيري از تکرار يک اسکريپت در صفحات يک وب سايت، کدهاي جاوااسکريپت را در يک فايل جداگانه نوشته و با پسوند js آنها را ذخيره کنيد سپس در هر قسمت و هر صفحه اي که لازم بود، وارد کنيد. خط زير را در برنامه Notepad نوشته و آنرا به اسم test.js ذخيره کنيد:

document.write(" JavaScript external file ")

حالا يک فايل اچ تي ام ال بسازيد و تگهاي زير را در آن وارد کنيد سپس با يک اسم دلخواه آنرا در همان پوشه که فايل جاوااسکريپت را ذخيره کرده ايد قرار دهيد:

<html>
<head>
</head>
<body>
<script language="javascript" type="text/javascript" src="test.js">
</script>
</body>
</html>

گر مراحل را بدرستي انجام داده باشيد، جمله زير را در مرورگرتان مشاهده خواهيد کرد.

JavaScript external file

دقت کنيد که اگر فايل جاوااسکريپت را در پوشه اي جدا از فايل html قرار مي دهيد حتماً در خصوصيت src آدرس دقيق آنرا بنويسيد.

----

بحث فردا: متغیر ها

موفق باشید:auizz3ffy9vla57584x

Share this post


Link to post
Share on other sites

با سلام

مرسی از فعالیت شما ، آموزش خوبی هست ، مطالب رو شما وارد کنید و اگه از نظر شما اشکال نداشته باشه من مطالب شما رو کنار هم جمع کنم و یه فایل کلی در آخر این آموزش ارائه بدیم:37: اگه موافق بودید اعلام کنید تا منم مشغول بشم

موفق باشید

Share this post


Link to post
Share on other sites
با سلام

مرسی از فعالیت شما ، آموزش خوبی هست ، مطالب رو شما وارد کنید و اگه از نظر شما اشکال نداشته باشه من مطالب شما رو کنار هم جمع کنم و یه فایل کلی در آخر این آموزش ارائه بدیم:37: اگه موافق بودید اعلام کنید تا منم مشغول بشم

موفق باشید

نه داداش چه اشکالی؟

ممنون هم میشم.

اینجوری دوستان هم راحت تر می تونند مطالب رو مطالعه کنن.

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

Share this post


Link to post
Share on other sites

متغير چيست؟

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

<script language="javascript" type="text/javascript">
var strTest = "This is an example for variable."
document.write(txtTest)
</script>

حالا مي پردازيم به جزئيات تعريف يک متغير در اين اسکريپت:

var strTest = "This is an example for variable."

اصطلاح var از کلمه variable مي آيد که نوشتن آن اختياري مي باشد، يعني مي توانيد يک متغير را بدون نوشتن آن هم تعريف کنيد ولي اگر مي خواهيد کد شما خوانا تر باشد بهتر است که از var استفاده کنيد. قسمت بعدي يعني strTest نامي است که شما براي آن متغير انتخاب مي کنيد و سپس علامت مساوي است که متغير را برابر با يک مقدار قرار مي دهد و در آخر هم مقدار تعيين شده براي متغير که در اينجا يک رشته متني است يا يک text string ميباشد که به همين دليل بايد آنرا بين دو علامت " " قرار دهيم تا عيناً محتويات آن در مرورگر نوشته شود.

انتخاب نام متغير

بهتر است نام يک متغير را طوري انتخاب کنيد که در عين سادگي، گويا بوده و يادآور نکاتي براي شما باشد چون هميشه کدهاي شما به چند خط ختم نميشود، گاهي اوقات ممکن است مجبور شويد بيش از صد خط کد در يک صفحه قرار دهيد. بطور مثال چون مقدار متغيردر اينجا يک رشته يعني stringبود من سه حرف str را به ابتداي نام متغير اضافه کردم.

اما براي انتخاب نام متغير بايد نکات زير را رعايت کنيد:

نام يک متغير مي تواند از مجموع حروف، اعداد و علامت underline يا زيرين خط يعني _ تشکيل شود، که آغاز کننده نام نبايد يک عدد باشد و همچنين هيچگونه فاصله اي هم در آن نبايد باشد.

در جاوااسکريپت حروف کوچک با بزرگ متفاوت مي باشند يعني strTest با strtest کاملاً تفاوت دارد که اصطلاحاً مي گويند جاوااسکريپت case sensitive است.

انواع متغيرها

دو نوع متغير وجود دارد که تفاوت اين دو مدل در محل استفاده از آنها مي باشد. متغيرهاي کلي و سراسري که به آنها global گفته مي شود. اين متغيرها در سراسر يک فايل اچ تي ام ال کاربرد دارند يعني يکبار آنرا در ابتداي اسکريپت تعريف و مقدار دهي مي کنيد ولي در هر کجا از کد که مورد نياز باشد از آنها بهره مي گيريد. نوع ديگر آن متغيرهاي محلي يا local هستند که فقط در يک قسمت از اسکريپت کارآيي دارند که ممکن است در قسمت ديگري همان متغير با يک مقدار ديگري تعريف شود. معمولاً متغير هاي محلي در توابع يا function ها کاربرد دارند که يک متغير در هر تابع مي تواند مقادير متفاوت داشته باشد بدون اينکه پيغام خطايي توليد کند که در قسمت مورد نظر function ها را ياد خواهيد گرفت.

به قسمتي از اسکريپت که يک متغير در آن کاربرد دارد، حوضه يا scope آن متغير گفته مي شود.

با درک مفهوم متغيرها در جاوااسکريپت مي توانيم در صفحه بعد با چگونگي نمايش تاريخ و زمان در صفحات وب آشنا شويم.

Share this post


Link to post
Share on other sites

سلامی دوباره!!

دوستان لطفا یه تشکر هم بزمید خوب آدم دلش خوش باشه که چند نفر استفاده بردند:14:

Date Objecth

يکي از ويژگي هايي که جاوااسکريپت دارد جمع آوري اطلاعات از سيستم کاربر و نمايش آنها در صفحات وب است. همانطور که ميدانيد زبان اچ تي ام ال به تنهايي قادر به انجام چنين کاري نيست اما با کمک زبانهاي ديگر تحت وب مانند Javascript ، مي تواند تا حدودي اين مشکل را برطرف کند. شئ هايي در جاوااسکريپت وجود دارند که توسط متدهاي مختلف، اطلاعات مورد نياز را از سيستم گرفته و در اختيار کاربران قرار مي دهند. يکي از اينobject ها و شئ ها ، Date مي باشد که به کمک آن مي توانيم تاريخ و زمان سيستم را هنگام اجراي کد دريافت کنيم، سپس آنرا نمايش دهيم و يا اينکه در يک متغير ذخيره کنيم تا در صورت لزوم از آن بهره گيريم. اين object بصورت زير تعريف مي شود:

new Date()

به طرز نوشتن آن دقت کنيد که غير از اين باشد با پيغام خطا روبرو خواهيد شد چون جاوااسکريپت زبان حساسي است پس هر جا که حروف بزرگ است بايد بزرگ و هر جا کوچک است بايد کوچک نوشته شود. در آخر هم پرانتز مي گذاريد که در قسمتهاي بعدي همين صفحه کارآيي آنها را درک خواهيد کرد. اين شئ يک رشته متني شامل روز، ماه، سال، ساعت، دقيقه، ثانيه و اختلاف زماني با UTC را برميگرداند. UTC مخفف Coordinated Universal Time مي باشد که به آن Zulu time هم مي گويند و مطابق با استاندارد جهاني زمان است.

کد زير را در يک سند اچ تي ام ال وارد کنيد و پس از ذخيره، آنرا اجرا کنيد:

<script language="javascript" type="text/javascript">
document.write ( new Date() )
</script>

متدهاي شئ Date

بعد از ساختن شئ جديد Date ، مي توانيد توسط متدهاي مربوط به آن جزئيات ديگري از اين شئ دريافت کنيد. اين شئ داراي هفت متد اصلي ميباشد که بيشترين کاربرد را دارند. اين متدها عبارتند از:

getDate(), getDay(), getMonth(), getYear(), getHours(), getMinutes(), getSeconds()

براي تعريف و استفاده از اين متدها بايد ابتدا شئ را نوشته، سپس يک نقطه بگذاريم و بعد از نقطه متد مورد نظر را بنويسيم.

براي درک بهتر مطالب گفته شده يک تمرين را با هم انجام مي دهيم. در يک صفحه وب، مي خواهيم زمان ورود يک کاربر به همان صفحه را اعلام کنيم. بطور مثال:

شما دقيقاً درساعت 17:10:54 وارد اين صفحه شديد.

که اسکريپت آن براي برگرداندن زمان مورد نظر به صورت زير مي باشد:

<script language="javascript" type="text/javascript">
var vorood = new Date()
document.write( vorood.getHours() + ":" + vorood.getMinutes() + ":" + vorood.getSeconds() )
</script>

ابتدا شئ Date را تعريف کرده و در يک متغير به نام vorood ذخيره مي کنيم تا بکار بردن آن در قسمتهاي بعدي راحت تر باشد، سپس از شئdocument و متد write براي چاپ نتيجه در صفحه وب استفاده کرده و متدهاي لازم براي برگرداندن اطلاعات مورد نياز را مي نويسيم. دقت کنيد که براي ترکيب متدها از علامت + استفاده کرديم، اين علامت باعث ترکيب و پيوند بين اجزاي يک اسکريپت مي شود که خاصيت آنرا در بخش بعديoperator ها يعني عملگرها توضيح خواهم داد. ازعلامت : هم بين ساعت، دقيقه و ثانيه استفاده شده و چون مي خواستيم که اين علامت عيناً در صفحه نوشته شود آنرا بين علامت نقل قول يعني "" گذاشتيم. در ضمن مي توانيد از کدهاي اچ تي ام ال هم استفاده کنيد تا زمان به شکل دلخواه شما در صفحه چاپ شود. بطور مثال اگر بخواهيد که صورت Bold در صفحه نوشته شود، به شکل زير عمل مي کنيد:

document.write("<b>"+ vorood.getHours()+ ":"+ ...... + "</b>")

نکته: هنگاميکه از متد getMonth() براي برگرداندن عدد ماه استفاده مي کنيد بايد هميشه آنرا بعلاوه عدد يک کنيد چون جاوااسکريپت اولين ماه ميلادي را برابر با عدد صفر قرار مي دهد.

document.write( new Date().getMonth()+1 )

در مورد متد getYear() هم اگر مي خواهيد نتيجه کامل برگردد يعني سال بصورت چهاررقمي نوشته شود بايد از متد getFullYear() استفاده کنيد.

اگر هم بخواهيد تمام مقادير بر اساس UTC برگردانده شوند، بايد اين کلمه را در وسط متد مورد نظر وارد کنيد. بدين صورت:

getUTCFullyear(), getUTCDate(), getUTCHours(), getUTCMinutes()

تنظيم تاريخ و زمان

شئ Date به غير از متدهاي ذکر شده در بالا، داراي متدهاي ديگري است که توسط آنها مي توانيد زمان و تاريخي را بصورت دلخواه تنظيم کنيد. در اينگونه متدها بجاي کلمه get بايد از set استفاده کنيد و مقدار معيني را در پرانتز وارد کنيد. بطور مثال مي خواهيم همين موقع را در سال 2008 داخل صفحه چاپ کنيم.

<script language="javascript" type="text/javascript">
var zaman = new Date()
zaman.setFullYear(2008)
document.write ( zaman )
</script>

نتيجه اي که اين اسکريپت برميگرداند بصورت زير است، به روز هفته در اول خط و سال در آخر خط توجه کنيد که براي سال 2008 تنظيم شده است.

Thu Sep 18 2008 17:10:54 GMT-0700 (Pacific Daylight Time)

Share this post


Link to post
Share on other sites

عملگر چيست؟

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

انواع عملگرها

عملگرها در جاوااسکريپت به چند دسته تقسيم مي شوند:

عملگرهاي رياضي يا Arithmetic Operators: اين نوع عملگرها چهار عمل اصلي در رياضي را انجام مي دهند. علاوه بر آنها يک عملگر وظيفه نمايش خارج قسمت يک تقسيم را بعهده دارد و دو عملگر ديگر هر کدام به ترتيب يک واحد اضافه و يک واحد کم مي کنند که در جدول زير مشخص شده اند.

[ATTACH=CONFIG]1432[/ATTACH]

عملگرهاي زير به نام Assignment Operators معروف هستند که يک مقداري را به يک متغير نسبت مي دهند.

[ATTACH=CONFIG]1433[/ATTACH]

عملگرهاي مقايسه اي: اين نوع عملگرها مقدارهاي دو متغير را با هم مقايسه مي کنند و نتيجه اين مقايسه يا درست است يا غلط که در دستورات شرطي جاوااسکريپت بسيار کاربرد دارند.

[ATTACH=CONFIG]1434[/ATTACH]

عملگرهاي منطقي: در اين مدل سه نوع عملگر وجود دارند که در حقيقت يک يا چند نتيجه را بررسي مي کنند و جواب را بازمي گردانند. اين عملگرها به اين شکل مي باشند:

&& , || , !

عملگر && در حقيقت مانند حرف اضافه " و " در فارسي عمل مي کند:

x = 5
y = 3
( x < 10 && y > 1)

در اينجا اگر مقدار متغير x کوچکتر از عدد 10 باشه و y بزرگتر از 1 باشه، نتيجه true بازگردانده مي شود. چون حرف و آمده است پس بايد دو طرف عملگر جواب درست باشد تا در مجموع نتيجه درست در بيايد.

عملگر || مانند کلمه " يا " در فارسي است:

x = 6
y = 3
( x == 5 || y == 5 )

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

( x == 5 || y < 5 )

عملگر ! در حقيقت يک عمليات و معادله را بررسي مي کند اگر جواب آن معادله درست نباشد نتيجه true يا همان درست را برميگرداند:

x = 5
y = 4
! ( x == y )

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

کاربرد عملگرها در متن

در بالا تمام مثالها براي اعداد بود ولي گاهي اوقات از بعضي از عملگرها مي توانيم براي رشته هاي متني هم استفاده کنيم:

strText01 = " Hello "
strText02 = "my friends!"
document.write ( strText01 + strText02 )

در اين بخش با عملگرها آشنا شديد اما يکي از استفاده آنها در دستورات شرطي جاوااسکريپت مي باشد که در درس بعدي به آن مي پردازيم.

Share this post


Link to post
Share on other sites

کي از مهمترين قابليت هاي زبان جاوااسکريپت، توانايي آن در انجام دادن عکس العملهاي متفاوت در شرايط مختلف است. بر اين اساس اين زبان قادر است که متغيرهاي مختلف را با هم مقايسه کند و شرطهايي را براي آنها تعيين کند تا به يک نتيجه دلخواه برسد.

دستورif

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

<script language="javascript" type="text/javascript">

var d = new Date()
var t = d.getHours()

if ( t < 10 )
{
document.write ( "<b> Good morning </b>")
}

</script>

حالا ببينيم که چه اتفاقي افتاده است، در خط سوم ما يک متغير بنام d تعريف کرديم که به آن شئ Dateرا نسبت داديم و در خط بعد از آن يک متغير ديگر که يکي از متدهاي آن شئ را مقدار دهي کرديم تا ساعت سيستم براي ما ذخيره شود، سپس با يک خط خالي قسمت شرط را جدا کرديم تا به خوانايي اسکريپت کمک کنيم. کلمه if را مي نويسيم، دقت کنيد که شرط را حتماً داخل پرانتز بايد نوشت و در آن هم همانطور که مشاهده مي کنيد از عملگر کوچکتر استفاده کرديم. در اينجا ساعت سيستم در متغير t ذخيره شده است و دستور if داره شرط کوچکتر بودن را بررسي مي کند. در خط بعدي هم علامت آکلاد { } را بکار برديم که در اينجا آنرا براي نظم و خوانايي بيشتر کد استفاده کرديم اما فراموش نکنيد که اين دستور ممکن است از چندين قسمت تشکيل شود که در آنصورت بکار بردن آکلاد لازم است تا بتوانيم هر قسمت را از هم جدا کنيم. در آخر هم دستور تايپ يک متن مناسب در صفحه را به عنوان نتيجه شرط نوشتيم.

دستور if...else

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

if ( t < 10 || t == 10 ) {
document.write ( "<b> Good morning </b>" )
}
else
{
document.write ( "<b> Hello friends </b>")
}

دستور if...else if...elseاين دستور را زماني مي توانيد استفاده کنيد که بخواهيد يک شرط در شرايط مختلف بررسي شود تا نتيجه هاي متفاوت هم بدست بيايد:

if ( t <= 10  ) {
document.write ( "<b> Good morning </b>" ) 
}
else if ( t > 10 && t < 13 ) {
document.write ( "<b> Hello friends </b>" )
}
else if ( t >= 13 && t < 18 ) {
document.write ( "<b> Good afternoon </b>" )
}
else {
document.write ( "<b> Good evening </b>" )
}

در دستورات شرطي جاوااسکريپت به غير از مجموعه دستورات if يک مورد ديگر هم هست بنام دستور switch که در صفحه بعد به توضيح آن مي پردازيم.

:auizz3ffy9vla57584x

Share this post


Link to post
Share on other sites

switch

دستور switch يکي ديگر از دستورات شرطي جاوااسکريپت است که چندين شرط را براي متغيرها مقايسه مي کند تا نتايج مختلف بدست بيايد. در حقيقت دستور switch از تکرار if else جلوگيري مي کند. در مواردي که شرطها و نتايج آنها کم هستند مي توانيد از دستور if else استفاده کنيد اما براي شرطهاي زياد بهتر است switch را بکار بريد تا کد شما منظم تر باشد.

تنها مشکلي که اين دستور دارد اينست که از نسخه javascript 1.2 به بعد از آن پشتيباني شده که ممکن است بعضي از مرورگرهاي قديمي با اين دستور مشکل داشته باشند، ولي در ايران مشکلي نيست چون مطمئناً به علت استفاده رايگان از مرورگرها، ديگر کسي را پيدا نخواهيد کرد که مرورگر قديمي داشته باشد.

دستور سوئيچ مانند if داراي قسمتهايي است، که اجازه دهيد يک مثالي را بيان کنم و سپس به توضيح بخشهاي مختلف آن بپردازم.

مي خواهيم يک صفحه درست کنيم که به محض ورود کاربر به آن، آنروز هفته را در صفحه نمايش دهد:

<script language="javascript" type="text/javascript">

var d = new Date ()
var weekday = d.getDay ()

switch ( weekday )
 {
case 0 :
          document.write ("Sunday")
          break
case 1:
         document.write ("Monday")
          break
case 2:
         document.write ("Tuesday")
         break
case 3:
         document.write ("Wednesday")
         break
case 4:
         document.write ("Thursday")
          break
case 5:
         document.write ("Friday")
         break
default:
         document.write ("Saturday")
}
</script>

خب حالا بپردازيم به توضيح کد تا ببينيم که چه اتفاقي افتاده است. ابتدا توسط شئ Date ، تاريخ و زمان سيستم را در يک متغير بنام d ذخيره کرديم و سپس در خط بعدي توسط متد getDay اين شئ ، عدد روز هفته را از سيستم بدست آورديم و در متغير weekday ذخيره کرديم. دقت کنيد که اين متد عدد برميگرداند نه خود روزهاي هفته را و در نظر داشته باشيد که مفسر جاوااسکريپت روز اول هفته را يکشنبه ميداند و عدد 0 را به آن تعلق ميدهد و روز دوشنبه را عدد يک و به همين ترتيب تا آخرين روز هفته که شنبه باشد عدد 6 را ميدهد.

اکنون نوبت به بررسي شرط رسيده که مي خواهيم از دستور سوئيچ استفاده کنيم. ابتدا خود دستور را مي نويسيم يعني همان کلمه switch و سپس يک پرانتز باز مي کنيم تا متغيري که بايد در شرايط مختلف بررسي شود را در آن بنويسيم. براي نظم اسکريپت يک آکلاد هم باز مي کنيم ولي در آخر اين مجموعه آنرا مي بنديم.

case

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

break

دستور break يکي از بخشهاي switch است که به مفسر جاوااسکريپت مي فهماند که در کجا قسمت case تمام مي شود و يک قسمت ديگر شروع مي شود، در حقيقت از تداخل قسمتهاي مختلف جلوگيري مي کند. دقت کنيد که شما هم بايد آنرا قبل از شروع case بعدي بنويسيد.

deafult

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

و در آخر هم آکلاد باز شده را مي بنديم تا پايان اين مجموعه از دستور سوئيچ مشخص شود.

در نظر داشته باشيد که دستورات شرطي بسيار کاربرد دارند و حتي ممکن است در يک اسکريپت چندين بار از اين دستورات استفاده کنيد.

:28::28:

Share this post


Link to post
Share on other sites

هر گاه بخواهيد يک مجموعه کد به دفعات مشخص و يا رسيدن به يک نتيجه مشخص تکرار شود، بايد از حلقه استفاده کنيد. حلقه ها در جاوااسکريپت دو نوع هستند، يکي حلقه for و ديگري حلقه while که هر کدام از آنها هم ممکن است بسته به موقعيت کد مدلهاي مختلفي داشته باشند که در ادامه با کار آنها آشنا خواهيد شد.

حلقه for

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

<script language="javascript" type="text/javascript">

for ( i = 0; i <= 10; i++ )
{
document.write ( " Number " + i + "<br />")
}
</script>

خب براي اجراي اين مثال ابتدا کلمه for را نوشتيم تا شروع حلقه را به مفسر اعلام کنيم سپس يک پرانتز بايد باز کنيم تا پارامترهاي لازم براي تکرار در اين حلقه را وارد کنيم. اولين پارامتري که بايد وارد شود، يک متغير است با مقداردهي اوليه که به آن initial expression يا همان عبارت آغازين مي گويند. سپس دومين پارامتر که يک شرط است و مفهوم آن اينست که حلقه بايد ادامه پيدا کند تا متغير کوچکتر يا برابر با عدد 10 بشود. سومين پارامتر به عبارت افزاينده يا increment expression معروف است که در اينجا به اين مفهوم مي باشد که در هر بار اجراي حلقه يک واحد بايد به متغير افزوده شود. در انتهاي اعلام پارامترها پرانتز را مي بنديم. فقط دقت کنيد که در اين پرانتز هر پارامتري که نوشته شود بلافاصله بعد از آن بايد علامت ; قرار گيرد تا تداخلي بين آنها بوجود نيايد.

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

در خط بعد هم نتيجه را مابين آکلاد مي گذاريم تا به اسکريپت نظم دهيم و سپس دستور تايپ نتيجه که کلمه number را چون مي خواهيم عيناً در صفحه چاپ شود داخل " " گذاشتيم و بعد + که با پارامترهاي ديگه ترکيب بشود. البته در اينجا بجاي علامت بعلاوه مي توانيد کاما هم بگذاريد و بعد از آن متغير تعريف شده و در انتهاي آنها از تگ br استفاده کرديم تا هربار که حلقه تکرار مي شود نتيجه در يک خط جديد چاپ شود.

حلقه while

نوع ديگر حلقه ها، حلقه while مي باشد که بر خلاف حلقه for لزومي ندارد که متغيرها را در داخل پرانتز به عنوان پارامتر حلقه اعلام کنيم و همچنين در مواردي هم که مقدار انتهايي حلقه مشخص نيست مي توانيم از اين نوع استفاده کنيم چون کد مورد نظر تا جايي که نتيجه دلخواه بدست بيايد تکرار خواهد شد. البته اين نوع حلقه را مي توانيم بجاي حلقه for هم بکار بريم يعني اگر مقدار نهايي متغير هم داشته باشيم اين حلقه کاربرد خواهد داشت. مثال بالا را در مورد اين حلقه مي توانيم به اين صورت ذکر کنيم:

var i = 0
while (i <= 10)
{
document.write(" Number " + i + "<br />")
i++
}

کلمه while را مي توانيم ترجمه کنيم به ماداميکه ، پس در اينجا ما متغير را جداگانه تعريف کرديم و حالا مي گوييم، ماداميکه شرط کوچکتر يا مساوي 10 بودن برقرار نيست حلقه را تکرار کن و يک واحد به آن اضافه کن تا بالاخره شرط ما درست دربيايد.

حلقه Do...while

يک نوع حلقه ديگر در جاوااسکريپت وجود دارد که در حقيقت برعکس حلقه while مي باشد. در اين حلقه، شرط در آخر بدنه حلقه بررسي مي شود يعني يکسري دستور اجرا مي شود سپس شرط بررسي مي گردد که آيا به نتيجه مورد نظر رسيده است يا نه که اگر نتيجه درست نبود دوباره باز تکرار خواهد شد. فرق اين حلقه با حلقه while در اينست که حداقل يکبار دستورات اجرا خواهند شد ولي در حلقه while ممکن بود در صورت برقرار بودن شرط در همان ابتدا ديگر دستورات اجرا نشوند. حالا به مثال زير توجه کنيد تا کاملاً موضوع را درک کنيد:

var i=0
do 
{
document.write(" Number " + i + "<br />")
i=i+1
}
while (i <= 10)

در اينجا همه چي مانند مثالهاي بالا است با اين تفاوت که کلمه do به ابتداي حلقه اضافه شده و بررسي شرط هم به انتهاي حلقه منتقل شده. همانطور که ميدانيد يکي از معني هاي do انجام دادن کاري است. مفهوم اين کد هم بدين گونه است که دستور چاپ را انجام بده و يک واحد به متغير اضافه کن ماداميکه متغير کوچکتر يا مساوي با عدد 10 بشود. پس اين دستورات حداقل يکبار اجرا مي شوند تا به شرط برسند، شما مي توانيد براي رسيدن به صحت اين گفته مقدار متغير را بجاي صفر به يک عدد ديگر تغيير دهيد مثلاً عدد 20 را بدهيد و يکبار کد را اجرا کنيد.

در اين مثال نوع ديگر افزايش هم نشان داده شده است که شما مي توانيد از اين مدل هم استفاده کنيد.

break

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

براي جلوگيري از همچين اتفاقي مي توانيد از دستور break استفاده کنيد و يک شرطي هم براي آن در نظر بگيريد تا از حلقه هاي بي نهايت جلوگيري شود.

var i = 11
while (i >= 10)
{
document.write(" Number " + i + "<br />")
i++
if ( i == 21 ) break
}

در اين حلقه هيچگاه شرط درست نخواهد بود و تا بي نهايت ادامه پيدا مي کند اما با استفاده از دستور break و شرطي که در نظر گرفتيم از تکرار نا محدود اين حلقه جلوگيري کرديم در حقيقت از حلقه خارج شديم. پس استفاده از اين دستور را براي حلقه هاي پيچيده در نظر داشته باشيد تا با مشکلات جدي مواجه نشويد.

:a2d3:

Share this post


Link to post
Share on other sites

آرايه چيست؟

آرايه يکي ديگر از دستورات جاوااسکريپت مي باشد که همانند بقيه دستورها يک وظيفه اي دارد و بهترين خاصيت اين دستور، کوتاه کردن اسکريپت ما است. شئ آرايه يا همان Array براي ذخيره کردن مقادير متفاوت در يک متغير بکار مي رود. همانطور که مي دانيد تا قبل از شناخت اين دستور براي هر متغير يک مقدار مشخص در نظر گرفته مي شد، اما توسط يک آرايه شما مي توانيد چندين مقدار را به يک متغير نسبت دهيد. بطور مثال مي توانيد اسامي روزهاي هفته را در يک متغير ذخيره کنيد. دستور آرايه داراي قسمتهايي است که با توجه به مثال زير به توضيح آنها مي پردازيم:

var weekdays = new Array(7)
weekdays[0] = "Shanbeh"
weekdays[1] = "Yekshanbeh"
weekdays[2] = "Doshanbeh"
weekdays[3] = "Seshanbeh"
weekdays[4] = "Chaharshanbeh"
weekdays[5] = "Panjshanbeh"
weekdays[6] = "Jomeh"

اول از همه يک متغير بنام weekdays تعريف کرديم و آنرا برابر با آرايه جديد قرار داديم، دستور آرايه را بايد با new Array شروع کنيد که به طرز نوشتن حروف بايد توجه کنيد، سپس پرانتزي باز کرده و تعداد مقادير را در آن مي نويسيم. به اين عدد داخل پرانتز index يا انديس مي گويند. انديس ها از صفر شروع مي شوند.

در خطوط بعد، نوبت به مقداردهي هر انديس مي رسد که متغير را مي نويسيم و هر انديس را بايد در کروشه [ ] بگذاريم و سپس آنها را برابر با يک مقدار قرار دهيم که اين مقادير هر چيزي مي توانند باشند مانند رشته هاي متني و يا اعداد.

مثال بالا را مي توان بصورت زير هم نوشت:

var weekdays = new Array ("Shanbeh","Yekshanbeh",...)

يعني بجاي نوشتن انديس کلي در پرانتز، مقادير هر انديس را بنويسيم و توسط کاما آنها را از هم جدا کنيم.

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

for ( i=0; i<7; i++ ) {
document.write ( weekdays[ i ] + "<br />" )
}

خصوصيت آرايه

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

خصوصيتي که بيشترين کاربرد را براي آرايه دارد، length مي باشد. وظيفه اين خصوصيت نمايش انديس کلي يک آرايه است. اگر بخواهيم در مثال بالا اين خصوصيت را بکار بريم، بايد خط زير را بعد يا قبل از حلقه for بکار بريم:

document.write ( weekdays.length + "<br />" )

بعد از وارد کردن اين کد و اجراي اسکريپت، عدد هفت در صفحه نوشته خواهد شد چون انديس ما در اينجا هفت بود.

متدهاي آرايه

آرايه داراي متدهايي هم هست که نحوه تعريف کردن آنها همانند خصوصيت است و تنها فرقي که دارد بعد از نوشتن متد بايد پرانتز هم بگذاريد. متدهاي آرايه عبارتند از:

concat(), join(), pop(), shift(), push(), unshift(), reverse(), slice(), sort(), splice(), toString(), valueOf()

متد concat براي ترکيب مقادير دو يا سه آرايه بکار مي رود. اين متد هيچ چيزي را در آرايه ها تغيير نمي دهد و فقط مقادير تعريف شده را در صفحه چاپ مي کند.

متد join تقريباً مانند متد قبلي عمل مي کند و کليه مقادير را بصورت يک رشته متني در صفحه نشان مي دهد با اين تفاوت که در اين متد مي توانيد يک علامت مانند نقطه، تعيين کنيد تا بين مقادير چاپ شده در صفحه قرار گيرد. بصورت پيش فرض اين علامت، کاما مي باشد.

متد pop آخرين مقدار آرايه را جدا کرده و در صفحه نمايش مي دهد. دقت کنيد که اين متد در خصوصيت length تأثير مي گذارد يعني اگر بعد از اين متد خصوصيت length را بکار بريد، يک انديس کمتر نشان مي دهد.

متد shift برعکس متد قبلي است يعني اين متد اولين مقدار آرايه را جدا مي کند و نشان مي دهد.

متد push يک يا چند مقدار را به آخر يک آرايه اضافه مي کند و انديس جديد برمي گرداند.

متد unshift يک يا چند مقدار به ابتداي يک آرايه اضافه مي کند و انديس جديد بر مي گرداند. دقت کنيد که اين متد در مرورگر اينترنت اکسپلورر بدرستي کار نمي کند.

متد reverse ترتيب نمايش مقادير يک آرايه را برعکس کرده و در صفحه وب نمايش مي دهد.

متد slice يکسري از مقادير موجود در يک آرايه را جدا مي کند که در اين متد شماره انديس مقداري که مي خواهيد از آنجا جداسازي شروع شود را بايد بنويسيد و همچنين مي توانيد آخرين مقدار هم مشخص کنيد که اگر آنرا معين نکنيد تا آخرين مقدار انتخاب خواهد شد.

متد sort براي منظم کردن مقادير يک آرايه به ترتيب حروف الفباي انگليسي است. اگر هم مقادير يک آرايه، عدد باشند به ترتيب اعداد تنظيم خواهند شد که مفسر جاوااسکريپت به اولين عدد از سمت چپ نگاه مي کند و بعد از رديف کردن آنها سپس به اعداد بعدي نگاه مي کند.

متد splice براي اضافه يا حذف يک مقدار در آرايه مي باشد که اين متد داراي پارامترهايي مي باشد که اين پارامترها را بايد در پرانتز مشخص کنيد. اولين پارامتر شماره انديس که در آنجا يک مقدار حذف يا اضافه خواهد شد و بايد عدد باشد. دومين پارامتر مقدار عددي است که معين مي کند چند تا مقدار از آن انديسي که در پارامتر قبل انتخاب کرديم، بايد حذف شود که اگر آنرا صفر در نظر بگيريد هيچ مقداري حذف نخواهد شد. اين دو پارامتر حتماً بايد نوشته شوند. در ضمن اگر مي خواهيد مقاديري هم اضافه شود بعد از اين پارامتر ها به عنوان پارامترهاي بعدي ذکر مي کنيد.

متد toString مقادير يک آرايه را تبديل به يک رشته متني مي کند.

اينها متدهايي هستند که کاربردشان در آرايه ها متداول است. شايد بنظرتان غير مفيد بيايند اما در بعضي جاها مي توانند به کمک شما بيايند و اسکريپت شما را خلاصه تر کنند.

:thanks:book

Share this post


Link to post
Share on other sites

دوستان خیــــــــــــــــــــلی استقبال کمه!:13:

بگید که اگه به دردتون نمی خوره تاپیک رو پاک کنن مدیرا الکی هم دیتابیس سایت شلوغ نشه! :37:

Share this post


Link to post
Share on other sites
دوستان خیــــــــــــــــــــلی استقبال کمه!:13:

بگید که اگه به دردتون نمی خوره تاپیک رو پاک کنن مدیرا الکی هم دیتابیس سایت شلوغ نشه! :37:

سلام

نه داداش چی به درد نمیخوره عزیز شما ادامه بده من هستم:ds6a5d: واقعا مفید هستن منم کارم رو شروع میکنم:128fs318181:

Share this post


Link to post
Share on other sites

تابع چیست؟

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

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

function message ( )
{
alert ( " Hello friends! " )
}

هم

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

شما يک تابع را در هر کجاي يک سند html مي توانيد بکار بريد. اگر دستوراتي است که هنگام باز شدن صفحه وب بايد اجرا شوند و يا آماده اجرا باشند پس بهتر است در قسمت head نوشته شوند. حتي مي توانيد يک تابع را در فايل خارجي جاوااسکريپت که با پسوند js ذخيره مي شود وارد کنيد تا در صفحات مختلف آنرا بکار بريد.

فراخواني يک تابع

توابعي که در يک سند اچ تي ام ال تعريف مي شوند به خودي خود اجرا نخواهند شد. اگر شما يک تابع تعريف کنيد پس از باز کردن صفحه وب خواهيد ديد که هيچ اتفاقي نمي افتد.

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

<html>
<head>
<title> Call function </title>

<script type="text/javascript" type="text/javascript">
function message ( )
{
alert ( " Hello friends! " )
}
</script>

</head>
<body>

<form>
<input type="button" onclick="message( )" value="Click me">
</form>

</body>
</html>

نگران دستور alert و onclick نباشيد چون در بخشهاي بعدي با آنها آشنا خواهيد شد. فقط به فراخواني تابع دقت کنيد که چگونه بکار برده مي شود.

آرگومان يک تابع

گاهي اوقات هنگام تعريف يک تابع، آرگومان و يا پارامتري را براي آن داخل پرانتز تعيين مي کنيد تا هنگام صدا زدن تابع، آن آرگومان مقداردهي شود. در کل مي توان گفت که يک آرگومان، متغيري است که هنگام صدا زدن تابع مقدار آن ارسال مي شود تا تابع از آن استفاده کند. مي توانيم مثال بالا را با يک آرگومان تعريف کنيم:

function message ( msg )
{
alert ( msg )
}
</script>

<input type="button" onclick="message( 'Hello friends!' )" value="Click me">

در اينجا يک آرگومان بنام msg تعيين کرديم تا هنگام فراخواني تابع، مقدارش به تابع فرستاده شود و نتيجه آن اجرا شود. در حقيقت عبارت Hello friends مقدار اين آرگومان مي باشد. تعيين آرگومان هيچ محدوديتي ندارد و فقط بايد آنها را با علامت کاما از هم جدا کنيد.

دقت کنيد که در دستورات جاوااسکريپت، بين دو علامت " " بايد از ' ' استفاده شود چون اگر مجدداً از خود علامت نقل قول يعني " " استفاده کنيد با پيغام خطا مواجه مي شويد.

بازگرداندن یک مقدار توسط دستور return

توابع جاوااسکريپت داراي يک دستوري بنام return هستند که وظيفه اين دستور برگرداندن مقادير تعريف شده در آن تابع است.

function greeting ( ) {
return ( " Hello world! " )
}
.......

document.write ( greeting( ) )

اين مجموعه کد را اگر بدون استفاده از return اجرا کنيد، نتيجه درست نخواهيد گرفت. به يک مثال ديگر توجه کنيد:

<html>
<head>
<title> return statement </title>

<script type="text/javascript" type="text/javascript">
function total (a,b )
{
x = a * b
return x
}
</script>

</head>
<body>
<script type="text/javascript" type="text/javascript">
price = total ( 4, 15 )
document.write ( price )
</script>
</body>
</html>

همانطور که مشاهده مي کنيد دو آرگومان براي تابع total تعريف شده است که در متغير x ذخيره مي شوند و توسط دستور return مقدارشان به تابع ارسال خواهد شد.

در نظر داشته باشيد که توابع در جاوااسکريپت بسيار کاربرد دارند و شما هنگام نوشتن اسکريپت خود پي به اهميت آنها خواهيد برد مخصوصاً زماني که يک سري کد را بخواهيد در کليه صفحات يک وب سايت بکار بريد که مي توانيد آنها را بصورت يک تابع در يک فايل خارجي جاوااسکريپت ذخيره کنيد و سپس در هر صفحه آن تابع را فراخواني کنيد.

Share this post


Link to post
Share on other sites

با سلام...

دوست عزیز صرفاً کپی برداری از سایتهای دیگه ،و قرار دادن اونها در انجمن ملاک نیست..!!!

لطفاً از کپی برداری پهیز کنین . سعی کنین آنچه که خودتون تولید میکنید .در انجمن قرار بدید.

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

و سایر ترفندهایی که میشه بکار برد...

موفق باشید و سربلند

Share this post


Link to post
Share on other sites
با سلام...

دوست عزیز صرفاً کپی برداری از سایتهای دیگه ،و قرار دادن اونها در انجمن ملاک نیست..!!!

لطفاً از کپی برداری پهیز کنین . سعی کنین آنچه که خودتون تولید میکنید .در انجمن قرار بدید.

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

و سایر ترفندهایی که میشه بکار برد...

موفق باشید و سربلند

دوست عزیز این مطالب از سایت خودمه خوب!!

مالکش منم!

و منم در کپی کردن مطالب وبسایت خودم مشکلی نمی بینم.

Share this post


Link to post
Share on other sites
با سلام...

دوست عزیز صرفاً کپی برداری از سایتهای دیگه ،و قرار دادن اونها در انجمن ملاک نیست..!!!

لطفاً از کپی برداری پهیز کنین . سعی کنین آنچه که خودتون تولید میکنید .در انجمن قرار بدید.

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

و سایر ترفندهایی که میشه بکار برد...

موفق باشید و سربلند

خواهشا بذارید کارش ادامه بده یکی بالاخره پیدا کردم که داره رایگان همه چی رو اموزش میده

Share this post


Link to post
Share on other sites
دوست عزیز این مطالب از سایت خودمه خوب!!

مالکش منم!

و منم در کپی کردن مطالب وبسایت خودم مشکلی نمی بینم.

آیا شما مالک همه ی این سایتها هستید؟

iranw3.com/

parsi-forum.ir

.sabanetwork.com

9coders.com

noorportal.net

kahyani.blogfa.com

و... دهها سایت دیگه که دقیقا همین مطالب رو با همین محتوا در خودشون قرار دادن..!!!

لطفاً منابع مطالب را ذکر کنید....

Share this post


Link to post
Share on other sites

سلام

حجت جان، شايد اون ها از اين دوستمون كپي برداري كردن.

البته بعضي وقتا اينقدر كپي برداري زياد ميشه كه ديگه هركسي مي تونه ادعا كنه سورس مطلب مال اونه. نمي خوام به دوستمون جسارت كنم. ولي اين واقعيته.

به هرحال واقعا شايد سورس اين مطالب مال همين دوستمون باشه كه بقيه كپي برداري كردن

Share this post


Link to post
Share on other sites
با سلام...

دوست عزیز صرفاً کپی برداری از سایتهای دیگه ،و قرار دادن اونها در انجمن ملاک نیست..!!!

لطفاً از کپی برداری پهیز کنین . سعی کنین آنچه که خودتون تولید میکنید .در انجمن قرار بدید.

سلام

خدمت آقا حجت عرض کنم که شاید این دوستمون تو سایت قبلیش این مطالب رو داشته و یا اصلا سایت نداشته این آموزش ها رو از جایی گیر آورده (کنار خیابان پیدا کرده) حالا داره اینجا در خدمت بچه ها قرار میده، به نظر شما بده؟؟ اگه با مسئله کپی رایت مشکل دارید یه پیشنهاد به مجلس بدید تا اول قانونش تصویب بشه بعد بیایید بگید کپی نکنید.

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

و سایر ترفندهایی که میشه بکار برد...

موفق باشید و سربلند

اگه شما اجازه بدید قرار شده این دوستمون مطالب خودش رو بیان کنه منم دارم مطالبش رو در یه فایل آموزش قرار میدم تا آخر سر ارائه بدیم ، احیانا مشکلی که نداره؟؟

Share this post


Link to post
Share on other sites
مهمان
This topic is now closed to further replies.