نرم افزار اندروید کلوب جستجوی مطالب
مرکز پیش دانشگاهی شهید مطهری-منطقه 6 , motahariclub

مرکز پیش دانشگاهی شهید مطهری-منطقه 6

مرکز پیش دانشگاهی شهید مطهری-منطقه 6 , motahariclub

مرکز پیش دانشگاهی شهید مطهری-منطقه 6

97نــــفــــــر
عضو شده اند
97نفر عضو شده اند
کلوب بچه های مطهریکلوب بچه های مطهریمشاهده کامل مشخصات
5 فروردین 1384
آموزش و تحصیل

اعضاء

  • ندا مدیر , p30neda
  • شیفته حسن نژاد , shifte_hasannezhad
  • کتایون لطفی , katayoon_lotfi
  • روشنک فریدونی , roshanbanoo
  • 97 نفر

    morebox img

کلوبهای مشابه

  • دانشگاه ازاد گرگان , azad_gorgan_university
  • دانشگاه علوم پزشکی شهید بهشتی , sbmu
  • دانشگاه آزاد خوراسگان , unikhorasgan_iman_homayouni
رسانه فروردین - سرویس وبلاگ

Buy Real Traffic
  عناوین بحث ها پاسخها بروز رسانی
0
93/12/1 (13:06)
1
90/3/7 (16:26)
0
87/3/27 (17:59)
3
85/11/20 (10:04)
3
85/11/19 (02:31)
1
85/5/12 (17:12)
2
85/5/12 (17:11)
0
84/10/9 (11:09)
مرکز پیش دانشگاهی شهید مطهری-منطقه 6 , motahariclub
آموزش Java Script شماره (6)
نویسنده: صابر كردستانچی


متغییرها و عملگرهای JS قسمت دوم

در درس قبل مطالب كاملی در مورد عملگر جمع در JS گفتم ، حال به عملگر تفریق می رسیم كه حاوی نكات جالبیست . دو متغییر عددی a=12 و b=7 را در نظر می گیریم . ما می توانیم عمل تفریق بین دو متغییر a و b را به دو صورت a-b و b-a انجام دهیم كه حاصل ایندو با هم برابر نیست !


a-b=12-7=5
b-a=7-12=-5

بر خلاف جمع دو متغییر رشته ای ، تفریق دو متغییر رشته ای امكان پذیر نیست و در صورت تفریق ، در هر حالت ، حاصل برابر با رشته NaN به معنی Not a Number خواهد بود . این خصوصیت شامل تفریق یك متغییر رشته ای از عددی و بالعكس می باشد . با یك مثال بحث را روشنتر می كنیم .
فرض كنید دو متغییر رشته ای "www"a= و "net"b= را تعریف كرده ایم ، در هر دو صورت تفریق a-b و b-a حاصل برابر NaN خواهد بود .

a="www"
b="net"
d=a-b
f=b-a
در نتیجه : d=f=NaN
و در صورت داشتن یك متغییر رشته ای و یك متغییر عددی :

a=12
b="net"
d=a-b
f=b-a
در نتیجه : d=f=NaN

پس به این نتیجه كلی می رسیم كه هر گاه یك متغییر رشته ای _ در هر حالت _ در عمل تفریق وجود داشته باشد حاصل عبارت رشته ای NaN خواهد بود .
در تفریق متغییر های «منطقی» به مانند جمع متغییر های رشته ای ، True مفهوم 1(یك) و False مفهوم 0 (صفر) خواهد داشت . به مثال زیر توجه كنید :

a=true
b=false
c=a-b
d=b-a
در نتیجه خواهیم داشت : c=1-0=1 و همچنین : d=0-1=-1
در این مورد نیز a-b و b-a با هم متفاوتند .
حال عملگر ضرب را بررسی می كنیم . برای انجام عمل ضرب از * استفاده می كنیم . در این حالت می توان به ضرب دو عدد (چه صحیح و چه اعشاری) اشاره نمود كه به صورت زیر تعریف می شود .
c=a*b
بدین معنی كه متغییر a در b ضرب شود و حاصل به متغییر c نسبت داده شود . در مثال زیر به این مطلب اشاره شده است .

a=12
b=3
c=a*b
d=b*a
در نتیجه داریم : c=d=36
مشاهده كردید كه در ضرب تعویض جای اعداد تاثیری در جواب ضرب نمی گذارد یعنی a*b=b*a .
در صورت ضرب دو متغییر رشته ای یا یك متغییر رشته ای در یك متغییر عددی حاصل رشته NaN خواهد بود .پس نمیتوان متغییر رشته ای را در هیچ نوع متغییر دیگر ضرب نمود .
حال به ضرب متغییر های منطقی می رسیم . همانطور كه گفته شد ، true مفهوم یك و False مفهوم صفر دارد . در ضرب متغییر های رشته ای سه حالت پیش می آید :
1 _ در صورت ضرب دو متغییر منطقی True ، حاصل 1 خواهد بود .
2 _ ضرب دو متغییر منطقی false نیز حاصل صفر خواهد داشت .
3 _ در ضرب یك متغییر منطقی True در یك متغییر False ، جواب صفر بدست خواهد آمد .
پس به این نتیجه می رسیم كه در ضرب متغییر های منطقی فقط دو جواب 0و1 خواهید داشت و فقط در صورتی جواب برابر 1 خواهد بود كه هیچ متغییر False ی در ضرب شركت نداشته باشد .
و اما عملگر تقسیم . عملگری كه می توان با استفاده از آن در JS عمل تقسیم را انجام داد « / » است . اولین موردی كه از این عملگر بررسی می كنیم ، حالت تقسیم دو متغییر عددی است .
فرض كنید ما دو متغییر با نام های number1 و number2 با مقادیر عددی 24 و 8 داشته باشیم .
حال می توانیم عمل تقسیم بین این دو متغییر را به دو صورت number1/number2 و number2/number1 انجام دهیم كه در حالت اول نتیجه عدد 3 و در حالت دوم عدد 0.3333333333333333 خواهد بود .
نكته 1 : زبان JS در حالت اعشاری فقط تا 16 رقم اعشاری محاسبه می كند .
نكته 2 : در عمل تقسیم هر عددی بر عدد صفر ، حاصل برابر با رشته Infinity به معنی بینهایت خواهد بود .
در تقسیم یك متغییر رشته ای به یك متغییر عددی و بلعكس حاصل برابر با NaN خواهد بود . در تقسیم متغییر های منطقی ، حالت های زیر به وجود می آید .
_ در تقسیم یك متغییر منطقی True بر True حاصل برابر با 1 خواهد بود
_ در تقسیم یك متغییر منطقی True بر False حاصل برابر با رشته Infinityخواهد بود
_ در تقسیم یك متغییر منطقی False بر True حاصل برابر با صفر خواهد بود
_ در تقسیم یك متغییر منطقی False بر False حاصل برابر با رشته Infinity خواهد بود

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

سوال : با توجه به اینكه فواصل بین كلاس های شما زیاد است,لطفا كتاب یا سایت مناسبی را برای مطالعه در بین كلاس هایتان معرفی نمایید

پاسخ : باز هم از همه شما با خاطر وقفه بین كلاس ها عذر می خوام . در مورد كتاب های فارسی من هیچ كتابی را پیشنهاد نمی كنم چون بسیاری از انها نه تنها مطالب مفیدی ننوشتن بلكه مطالب اشتباهی هم در مورد JS نوشتن . و اما در مورد كتاب های انگلیسی من كتابهای كمپانی O'Reilly رو پیشنهاد می كنم كه 100% مفید هستند . كتاب JAVA SCRIPT این كمپانی را David Flannagan نوشته و این كتاب كاملا استاندارد است . این كتاب به صورت آنلاین و مجانی قابل دسترسیست .من به زودی لینك داونلود این كتاب رو با كمترین سایز ممكن براتون میزارم تو یكی از درس ها ...
آدرس سایت كمپانی : http://www.oreilly.com

[http://www.persianlearn.com/]
ادامه
99
    مرکز پیش دانشگاهی شهید مطهری-منطقه 6 , motahariclub
    آموزش Java Script شماره (5)
    نویسنده: صابر كردستانچی


    متغییرها و عملگرهای JS

    بعد از یك تاخیر كوتاه مدت دوباره وارد دنیای زیبای JS می شویم .در درسهای قبل مطالب مقدماتی مهمی را تحت پوشش قرار دادیم تا با زمینه ای مطلوب وارد بخش تجربی و عملی آموزش JS بشویم .
    در این درس علائم ریاضیی كه در JS كاربرد دارند را بررسی می كنیم . در ابتدا به مفهوم «متغییر» می پردازیم . در توضیحی بسیار ساده باید بگویم ، متغییر مانند یك جعبه می باشد كه بر اساس نوعش می تواند اشیاء و مقادیر مختلفی را در خود جای دهد .
    طبیعی است كه هر یك از این جعبه ها باید برای خودش اسم خاص و منحصر به فردی داشته باشد تا از دیگر جعبه ها مجزا شده و قابل تمییز دادن باشد . متغییر ها نیز دقیقا حكم این جعبه ها را دارند ، مقادیر خاصی را می پذیرند و با نام خاصی از بقیه جدا می شوند .
    و اما انواع متغییر ؛ یكی از معمول ترین و معروفترین نوع متغییر ها ، متغییر های عددی(numeric variables) هستند كه می توانند اعداد مختلف را بدون محدودیت رقمی در خود جای دهند . از این متغییر ها می توان برای اعداد اعشاری و منفی نیز استفاده كرد . برای مثال وقتی ما می خواهیم عدد 348/3242 را به متغییری به نام mark نسبت دهیم باید به این صورت ، عمل مقدار دهی را انجام دهیم :


    mark=3242.348

    نوع دیگری از متغییر ها در JS متغییر های رشته ای (string variables) هستند كه می توانند یك متن یا عبارت را در خود جای دهند به عنوان مثال اگر بخواهیم عبارت world wide web را به متغییر www نسبت دهیم به این صورت عمل می كنیم :

    www="world wide web"

    توجه داشته باشید كه باید در آغاز و پایان عبارت علامت " (quotation mark) را قرار بدهیم .
    دانستن این نكته بسیار مهم ایت كه هیچگاه دو متغییر mark=3242.348 و "3242.348"=mark با هم برابر نیستند زیرا اولی یك متغییر عددی و دومی یك متغییر رشته ای است !!! پس هیچگاه از علامت "" برای متغییر های عددی استفاده نكنید .
    نكته مهم دیگر این است كه نباید در قسمت نام متغییر از علامت فاصله (space) استفاده كنید به عنوان مثال متغییر w w w هرگز برای Java Script قابل قبول نیست و یك خطای برنامه نویسی محسوب می شود .
    متغییر منطقی (Boolean variables) نوعی از متغییر است كه نسبت به بقیه انواع متغییر ها محدود تر است ، بدین معنی كه فقط دو مقدار TRUE (درست) و False (نادرست) را می پذیرد . از متغییر بولین (منطقی) اكثرا در نوشتن شرط ها در JS استفاده می شود .
    و اما متغییر شئ (Object Variables) كه از انواع مهم متغییر هاست . این نوع از متغییر در اكثر برنامه های JS كاربرد دارد و در ان یك شئ یا اتفاق مربوط به آن شئ ذخیره می شود . مثلا وقتی می خواهیم شئ به اسم Core را در داخل متغییریبه نام Attribute جای دهیم بدین صورت عمل می كنیم:


    Attribute=core


    در مورد این نوع متغییر در درس های آینده توضیحات بیشتری خواهم داد .
    در پایان بحث مربوط به متغییر ها بهتر از به نكات بسیار مهم زیر توجه كنید :
    _ زبان JS در تعریف نام متغییر ها به حروف بزرگ و كوچك حساس است یعنی هیچگاه متغییرهای Www ، WWW و www با هم برابر نیستند و JS هر یك را متغییری جداگانه می داند .

    _ هیچگاه نام یك متغییر با عدد شروع نمی شود . در ضمن استفاده از نقطه (.) و علامت هایی چون @ و $ و % در نام متغییر جایز نیست . پس متغییر هایی چون 12fm و se.r و rt@r برای زبان JS بی معنی هستند .

    _ برای نام یك متغییر نمی توان از كلمات رزرو شده JS مانند this ، comment ، case و بسیاری دیگر استفاده كرد . تعداد كلمات رزرو شده در JS زیاد است و من به مرور زمان به همه آنها اشاره خواهم كرد .

    _ وقتی ما متغییری مانند "mark="world wide web را تعریف می كنیم در واقع مقدار world wide web را به متغییر mark نسبت می دهیم و تصور اینكه بر اساس این دستور world wide web با mark برابر است ، تصوری كاملا نادرست است .

    برای هر كسی كه اندكی اطلاعات پیش زمینه برنامه نویسی دارد واضح است كه هر زبانی كه عملگرهای ریاضی چون جمع ، تفریق و غیره را نداشته باشد ، یك زبان ناقص بوده و فاقد یكی از اساسی ترین خصوصیات یك زبان برنامه نویسیست .
    زبان JS دارای یكی از كاملترین علائم و دستورات ریاضی است كه از نقاط قوت این زبان به شمار می رود . توجه داشته باشید كه ما می توانیم توسط این عملگر ها بین دو یا چند متغییر یك یا چند عمل ریاضی را انجام داده و حاصل را به یك متغییر دیگر نسبت دهیم .
    ساده ترین عملگر این زبان ، عملگر جمع است كه دارای نكات مهمی است . فرض كنیم دو متغییر به نام های m1=5 و m2=7 داشته باشیم كه هر دو متغییر عددی باشند . در این صورت می توانیم اندو را با استفاده از دستور زیر با هم چمع كرده و داخل متغییر d قرار دهیم :

    d=m1+m2

    در این حالت متغییر d دارای مقدار عددی 12 خواهد بود . نكته قابل توجه این است كه از جمع دو متغییر عددی ، متغییری عددی به وجود می آید .
    حال فرض كنید دو متغییر m1 و m2 ی ما دارای مقدار رشته ای day و night باشند . در این صورت در مورد حاصل جمع آنها داریم :

    d=m1+m2

    در حالت جمع دو مقدار رشته ای ، مقدار حاصل برابر است با مقادیر دو متغییر در كنار هم ، یعنی مقدار dبرابر خواهد بود با daynight ، و همانطور كه مشاهده می كنید هیچ فاصله ای بین دو مقدار نخواهد بود. حتما به این نكته بسیار مهم توجه داشته باشید كه هیچگاه m1+m2 با m2+m1 برابر نیست زیرا همیشه در جمع رشته ای مقدار متغییر دوم بعد از مقدار متغییر اول قرار خواهد گرفت یعنی

    r=m1+m2 پس : r=daynight
    t=m2+m1 پس : t=nightday

    ممكن است شما بخواهید یك متغییر عددی را با یك متغییر رشته ای جمع كنید . در این صورت یك مقدار رشته ای از جمع دو متغییر بدست خواهد آمد . مثال زیر مطلب آشكار تری در اختیار شما قرار می دهد .

    P="javascript"
    t=239
    f1=p+t پس : f1="javascript239"
    f2=t+p پس : f2="239javascript"


    نكته قابل توجه دیگر این است كه در جمع دو متغییر منطقی ، مقدار TRUE برابر با 1 (یك) و مقدار FALSE برابر با 0 (صفر) محسوب خواهد شد .در واقع False را می توان دارای مقدار پوچ و True را می توان دارای مقدار كامل یعنی 1 در نظر گرفت . اگر هر دو متغییر True باشند حاصل جمع انها برابر 2 خواهد بود ، در صورت FALSE بودن هر دو حاصل برابر صفر و در صورتی كه یكی True و دیگری False باشد حاصل برابر 1 خواهد بود .
    چون در این كلاس كاملترین مطالب و كوچكترین نكات در مورد مباحث مختلف JS ارائه می شود ، اتمام هر مبحث در یك جلسه امكان پذیر نیست پس ادامه بحث در مورد عملگر ها را به درس بعد موكول می كنیم ...
    [http://www.persianlearn.com/]
    ادامه
      مرکز پیش دانشگاهی شهید مطهری-منطقه 6 , motahariclub
      آموزش Java Script شماره (4)
      نویسنده: صابر كردستانچی


      روش های دیگری برای استفاده از JS در صفحات HTML

      در درس قبل با یك روش برای استفاده از JS در صفحات HTML آشنا شدیم . در این درس به ذكر 2 روش دیگر می پردازم . توجه داشته باشید كه ممكن است این روش ها به طور كامل برای شما قابل درك نباشند ، ولی به هیچ وجه نگران نباشید چون این مطالب فعلا برای این است كه شما بدانید زبان Java Script با چه روش هایی مورد استفاده قرار می گیرد و در مباحثی كه برنامه خواهیم نوشت بررسی بیشتری صورت خواهیم داد .



      روش دوم باز هم مربوط به بحث شئ گرایی است . در این حالت از استفاده JS در صفحات وب ، شما به راحتی و با استفاده از دستورات خاصی از JS تمام وقایعی كه بر روی اشیاء صفحه روی می دهد را كنترل می كنید و در مقابل آن عكس العمل دلخواه را نشان می دهید . این دستورات كه وظیفه كنترل وقایع صفحه وب را دارند ، در كنار خود اشیاء قرار می گیرند و یكی از خصوصیات اشیاء را تشكیل می دهند .
      فرض كنید ما عكسی در صفحه وب داریم كه می خواهیم به محض اینكه نمایشگر ماوس روی آن قرار گرفت پیغامی كه شامل توضیحاتی از عكس است برای كاربر صادر بشود .
      وظیفه ما این است كه كنترل كننده ای را مورد استفاده قرار دهیم كه تشخیص دهد « آیا ماوس روی شئ مورد نظر قرار گرفته یا خیر ؟ » . و پس از تشخیص پیغام برای كاربر صادر بشود .
      در پایین شما می توانید این برنامه و توضیحات مفیدی در مورد آن را برای شما ارائه میكنم .



      1
      2
      3
      4
      5
      6
      7
      8



      _ در درس قبل شما با تگهای موجود در سطرهای 1 ، 2 ، 3 ، 5 ، 7 و 8 آشنا شدید .
      _ در سطر 6 از یك تگ HTML به نام IMG استفاده شده كه وظیفه این تگ نمایش تصاویر و عكس ها در صفحات وب است .
      _ در سطر 6 ، src یكی از خصوصیات مهم و معروف تگ Img است كه آدرس فایل عكس را مشخص می كند .
      _ و اما ONMOUSEOVER . این همان خصوصیتی است كه شما آن را در سطر 6 و در داخل تگ IMG می بینید . این عبارت همان كنترل كننده ماست كه وظیفه كنترل كردن ماوس در هنگام قرار گیری برروی شئ مورد نظر را دارد .
      عبارت Onmouseover در لاتین به این معناست ، «زمانی كه ماوس روی آن قرار گرفت » .
      _ بعد از علامت = و در داخل "" عكس العمل یا همان دستوریست كه ما می خواهیم در صورت قرار گرفتن ماوس انجام گیرد . در اینجا از دستور Alert استفاده شده كه صفحه ای برای كاربر باز كرده و متن داخل پرانتز را نشان می دهد .
      _ در صورت قرار گرفتن ماوس روی عكس ، كاربر صفحه زیر را مشاهده خواهد كرد .



      _ حال عبارت onmouseover ، یكی از خصوصیات (Properties ) این شی محسوب می شود .

      توجه داشته باشید كه تحلیل كد ها در این زبان برنامه نویسی بسیار مهم است . مطمئن باشید كه اگر بتوانید كد ها را به خوبی برای خودتان تحلیل كنید در برنامه نویسی موفق خواهید بود .

      روش سوم برای استفاده JS در صفحات وب ، بیشتر مورد توجه حرفه ای ها و مورد استفاده در پروژه های بزرگ است . در این روش شما برنامه های JS خود را در صفحه وب نمی نویسید بلكه آن را در یك فایل جداگانه و با پسوند js. می نویسید . تنها كاری كه شما باید برای استفاده این فایل JS بكنید این است كه آن را در صفحه وب مسیر دهی كنید .
      تگ Link راه حل شماست !!! این تگ به شما كمك می كند كه فایل JS خود را مسیر دهی نمایید .
      شكل كلی استفاده از این تگ به صورت زیر است .




      دلیل اینكه این روش در پروژه های بزرگ استفاده می شود را در مثال زیر بررسی می كنیم .
      فرض كنید شما باید سایتی طراحی كنید كه شامل 150 صفحه است و وظیفه دارید یك برنامه JS كه 10 كیلو بایت حجم دارد را در هر یك از این 150 صفحه بكار ببرید . با یك حساب سر انگشتی می فهمید كه با افزودن این برنامه 10 كیلو بایت به صفحات ، 1500 كیلو بایت یعنی یك و نیم مگابایت به حجم سایت شما افزوده می شود و این یك فاجعه است !!!!!!
      در عوض شما می توانید به جای استفاده كل برنامه در هر یك از صفحات ، با استفاده از تگ یك خطی Link ، در تمام این 150 صفحه فقط فایل JS كه تنها 10 كیلو بایت حجم دارد را مسیر دهی كنید ؛ و این یعنی یك بهره وری خوب در حجم .
      همیشه به یاد داشته باشید بهره وری حجمی در صفحات وب و طراحی سایت وب بسیار بسیار مهم است .

      در درس بعد كنترل كننده های وقایع در JS و عملگرهای JS را برای شما تشریح می كنم ...

      [http://www.persianlearn.com/]
      ادامه
        مرکز پیش دانشگاهی شهید مطهری-منطقه 6 , motahariclub
        آموزش Java Script شماره (3)
        نویسنده: صابر كردستانچی


        نحوه قرار گیری برنامه های JS در صفحات وب

        در درس های قبل مبانی و مفاهیم اصلی JS را آموختید . حال بهتر است ابتدا نحوه كاربرد این زبان در وب را بیاموزید و سپس شروع به آموزش كاربردهای JS نمایم .
        بنا به آموخته های ابتدایی شما در مورد زبان HTML , باید بیاد آورده باشید كه هر سند HTML از دو بخش اصلی تشكیل شده . قسمت سر سند یا Header و قسمت بدنه سند یا Body . در اصطلاح به متونی كه كدهای یك صفحه HTML را تشكیل میدهند « سند HTML » می گویند .
        قسمت سر سند حاوی اطلاعاتی است كه مشخصات كلی صفحه از قبیل عنوان صفحه ، نسخه به كار رفته از زبان HTML را مشخص می كند . قسمت دوم بدنه صفحه می باشد كه اجزای اصلی صفحه از قبیل متن ها ، عكس ها و فرم ها در آن قرار می گیرند . قسمتهای بدنه و سر سند به وسیله «تگ» های خاصی از هم جدا می شوند . در زیر تقسیم بندی ایندو را می بینید .




        HTML آغاز سند
        آغاز سر سند
        پایان سر سند
        آغاز بدنه سند
        پایان بدنه سند
        HTMLپایان سند



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



        1
        2
        3
        4
        5
        6 document.writeln("welcome to this page")
        7
        8
        9

        مطالب زیر شما را در درك مفاهیم مورد نیاز ما از كد های بالا یاری می كنند .

        _ رعایت تو رفتگی های سند در هنگام ایجاد آن الزامی نیست و فقط به خوانایی سند كمك می كند.
        _ ملاحظه می كنید كه در این سند ، برنامه JS در قسمت بدنه سند آمده است .
        _ در سطر 6 و در میان تگ های و برنامه ساده ای از JS آمده است كه فعلا دانستن جزئیات آن برای شما الزامی نیست .
        _ در سطر 5 در داخل تگ عبارت language=”javascript1.2” نسخه JS مورد استفاده در این اسكریپت ( برنامه نوشته شده توسط زبان JS ) را مشخص می كند .
        _ ذكر عبارت language=”javascript1.2” در برنامه الزامی نیست و فقط باعث می شود مرورگرهایی كه نسخه های پایین تری از JS را پشتیبانی می كنند ، قادر به اجرای برنامه های JS نباشند .
        _ با مشخص كردن نسخه ای از JS نسخه های بالاتر از آن نیز قابلیت اجرای آن برنامه را خواهند داشت .
        _هر نسخه از JS مربوط به دستوراتی است كه آن نسخه پشتیبانی می كند ؛ مثلا دستورات 1,1 JS در1,2 JS قابل اجرا هستند ولی در 0,1 JS خیر .
        _ در بررسی دستورات JS به توانایی پشتیبانی آنها در نسخه های مختلف JS اشاره خواهم كرد ...

        در درس بعد پس از بررسی روشهای دیگری از زبان JS ، آموزش مقدمات برنامه نویسی در JS را آغاز خواهم نمود ...

        [
        ادامه
          مرکز پیش دانشگاهی شهید مطهری-منطقه 6 , motahariclub
          آموزش Java Script شماره (2)
          نویسنده: صابر كردستانچی


          شی گرایی و دینامیكی درمورد زبان JS

          در درس قبل آموختیم زبان js با صفحات وب چه ارتباطی دارد و دانستیم كه برنامه های زبان js در میان TAG های زبان HTML قرار میگیرد . اما حال بهتر است چگونگی ارتباط js با صفحات وب را بررسی كنیم .
          هر چیزی كه شما در صفحه وب می بینید (و گاهی بعضی چیزهایی كه نمی بینید ) و در تعریف كلی هر چیزی كه صفحه وب را تشكیل می دهد , مثل دكمه ها ( button ) , فرم ها , عكس ها و هزاران چیز دیگر در صفحه وب , شی نام دارند . این اشیاء راه ارتباط JS با صفحات وب هستند و در واقع وظیفه اصلی JS كنترل این اشیاست . خاصیت شی گرایی (object-oriented) در JS باعث شده كه بتواند با بیشتر اشیاء در صفحات وب ارتباط برقرار كند .
          یك مثال ساده این مفهوم را آشكارتر می كند . اگر ما دنیای واقعی خود را در نظر بگیریم می توانیم میز ها , كتاب ها , سگ ها , گربه ها , انسان ها و همه و همه را شی بنامیم . در صفحات وب نیز شی به همین معناست البته با این تفاوت كه در صفحات وب بعضی از اشیاء قابل مشاهده نیستند . در صفحات وب هر شی دارای خصوصیات و مشخصه های خاص خودش است كه در زمان بررسی هر شی به ان اشاره خواهم كرد .
          همانطور كه گفتم این اشیاء بسیار زیادند . برای راحتی استفاده از آنها , گروه ها و زیر دسته هایی در نظر می گیریم و این اشیاء را در این گروه ها طبقه بندی می كنیم .
          زبان HTML به تنهایی نمی تواند با اعمالی كه كاربر در درون صفحه وب انجام می دهد ارتباط برقرار كند . و علاوه بر آن توانایی ایجاد جلوه های ویژه كه باعث جذابیت صفحه وب می شود را ندارد . و چون كاربر نمی تواند به وقایع (Event ) و اشیاء صفحه پاسخ دهد , حالتی كسل كننده برای او ایجاد می شود . زبان JS به خوبی این كمبود در صفحات وب را رفع می كند و به صفحات حالت فعال می دهد . در واقع JS این ویژگی را به وسیله خصلت شی گرایی اش كسب كرده است .
          مثلا وقتی شما اطلاعات نادرست به یك فرم در صفحه وب می دهید , JS با پیغامی می تواند به شما اطلاع دهد . به صورت ساده تر می توان گفت JS نوعی امكان انتخاب به كاربر و امكان پاسخ مناسب از طرف خود را می دهد .
          با یك مثال ساده تر , مفهوم آشكار تری را در اختیار شما قرار می دهم . شما دوربین عكاسی را در نظر بگیرید كه بدون توجه به نور اطراف خود عكس برداری می كند . این دوربین را می توان مانند حالت غیر فعالی HTML در نظر گرفت . در سوی دیگر دوربینی را در نظر بگیرید كه بنا به نور اطراف خود , شفافیت عكس را تنظیم میكند . این دوربین را میتوان مانند JS در نظر گرفت كه با محیط اطراف خود ارتباط برقرار می كند وتصمیمات لازم را می گیرد و اعمال لازم را انجام می دهد ( البته بر اساس خواست برنامه نویس ) .
          حال با مثالی در خود JS بحث را تكمیل می كنم . فرض كنید شما وارد صفحه وبی شده اید . بنا به برنامه ای كه برنامه نویس نوشته است ابتدا پیغامی مبنی بر اینكه (( آیا شما از رنگ صفحه خوشتان می آید ؟ )) توسط JS صادر می شود . در صورت انتخاب جواب مثبت , رنگ صفحه تغییر نمی كند ولی در صورت منفی بودن پاسخ بنا به انتخاب خود شما یا برنامه نویس رنگ صفحه تغییر می كند .
          متاسفانه توسط برنامه نویسان مختلف تعاریف اشتباهی درباره مفهوم دینامیك بودن در زبان های برنامه نویسی ارائه می شود . بسیاری به اشتباه , به هر زبانی كه شی گرا باشد دینامیك می گویند.
          من ابتدا نحوه اجرای JS را مورد بررسی قرار میدهم تا به نتیجه نهایی برسیم .
          دو مفهوم Client side languages و Server side languages به ما كمك فراوانی می كنند .
          در اصطلاح به كامپیوتر كاربر یا بیننده صفحه , مشتری ( Client ) و به كامپیوتری كه به كامپیوتر های دیگر جهت مشاهده صفحات وب سرویس می دهد , سرویس دهنده یا میزبان (Server ) می گوییم .




          برنامه ها و فایل های موجود در كامپیوتر میزبان , به 2 صورت می توانند برای كامپیوتر های مشتری مورد استفاده قرار گیرند . در حالت اول , فایل ها دقیقا به كامپیوتر مشتری انتقال یافته و آنجا ترجمه و اجرا می شوند . در این حالت درخواستی به میزبان فرستاده شده و میزبان این درخواست را پردازش می كند . سپس فایل درخواستی را بدون انجام هیچگونه عملیاتی به مشتری می فرستد . پس از انتقال فایل , مشتری فایل را دریافت میكند . فایل توسط مرورگر ترجمه و اجرا می شود . زبان هایی چون JS و HTML و CSS به این صورت عمل می كنند . زبان هایی كه به این صورت اجرا می شوند را Client side languages ( زبان های طرف مشتری ) می گویند .این زبان ها غیر دینامیكی هستند زیرا سرویس دهنده هیچ نقشی در اجرای آنها ندارد .
          در حالت دوم ابتدا فایل توسط مترجمی كه در كامپیوتر میزبان تعبیه شده , در خود میزبان ترجمه می شود و سپس نتایج این پردازش به مشتری ارائه می شود . مرورگرهایی كه در كامپیوتر مشتری قرار دارند , نمی توانند برنامه های نوشته شده توسط اینگونه زبان ها را خودشان ترجمه و ا جرا كنند , بلكه نیاز به نقش اساسی میزبان در ترجمه آن دارند . اینگونه زبان ها را Server side languages یا زبان های طرف میزبان می نامند . این زبان ها به دلیل نقش داشتن میزبان در فرایند ترجمه و در نتیجه امكان تغییر یا استفاده فعال از منابع میزبان , حالت دینامیكی دارند . مهمترین این زبان ها ASP , CGI و PHP هستند .
          با استفاده از مفاهیم بالا به راحتی میتوان نتیجه گرفت JS زبانی دینامیكی نیست و فرایند های مربوط به آن روی كامپیوتر مشتری صورت می گیرد .
          در درس آینده بحث درباره چگونگی برنامه نویسی با JS را آغاز میكنیم و چند برنامه ساده خواهیم نوشت ...

          [http://www.persianlearn.com/]
          ادامه