Black_Sky 6349 ارسال شده در فروردین 94 گزارش بازنشر ارسال شده در فروردین 94 با سلام خدمت دوستاندر این آموزش قصد دارم درباره زبان جاوا اسکریپت آموزش بدماین آموزش نوع آموزش ها در فضای مجازی بسیار وجود دارد اما قرار هست تفاوت های بسیاری وجود داشته باشد خب ابتدا :1-در این تاپیک اسپم ندهید و یا سوال نفرمایید /سوال و جواب در تاپیک جداگانه مطرح کنید تا بقیه دوستان استفاده کنند2-آموزش ها پیوسته میباشند و در آخر به صورت یک فایل PDF در اختیار دوستان قرار میگیرد3-یک سری پیش نیاز هم لازم هست همانند : HTML4-اگر هر نوع پیشنهاد و یا انتقادی هم وجود دارد با بنده در ارتباط باشید5-دوستانی هم که میخواهند در این تاپیک همکاری کنند اعلام نمایند--------------------موفق باشید--------------------- 19 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 اﻧﻮاع زﺑﺎن ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺗﺤﺖ وبﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻣﯽ داﻧﯿﺪ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻫﺎي ﻣﻮﺟﻮد در ﺷﺒﮑﻪ اﯾﻨﺘﺮﻧﺖ را ﺑﻪ دو دﺳﺘﻪ اﺻﻠﯽ ﺗﻘﺴﯿﻢ ﻣﯽ ﮐﻨﻨﺪ1-کامپیوتر کاربر2-کامپیوتر سرورپس بنابراین زبان های برنامه نویسی هم به دو دسته تقسیم میشوند1-تست سرور2-تحت کلاینتزبان های تحت کاربر: زبان هایی هستند که بر روی سیستم کاربر شروع به کار میکنند ونیازی به سرور برای پردازش و ... ندارند این زبان های همچون HTML , CSS , Javascript هستندمعمولا از این زبان ها برای طراحی صفحات ثابت (static) استفاده میشود که نیاز به پردازشو یا ارسال اطلاعات ندارندزبان های تحت سرور : زبان هایی هستند که مستقیم بر روی سرور ایجاد میشوند و برای شروع به کار نیاز به اجرا بر روی سرور دارند ، زبان هایی همانند : PHP , PYthon , RUby , ASP جز دسته زبان های برنامه نویسی سرور میباشنداز این زبان های برای طراحی صفحات Dynamic و یا پویا و... استفاده میشود البته این زبان های مثل زبان های تحت کلاینت جهت طراحی قالب و.... استفاده نمیشود و بلکه یم رابط بین صفحات شما به سرور برای عملیات ها میباشدنکته : زبان های که دربالا ذکر شد زبان های پرطرفدار و عمومی هستند که بیشتر سرو کار دارید در غیر این صورت زیان های متعددی وجود دارند که انشالله در آینده آموزش خواهیم دادیک سوال پر کاربرد : پس جاوا چیست ؟ تفاوت آن با جاوا چیست ؟1-جاوا یک زبان کاملا شی گرا (OOP) اسن که اولین باز توسط شرکت Sunmicrosystem به منظور خلق برنامه های کاربردی و مستقل و قابل اجرا بر روی سیستم عامل ساخته شد اما جاوا اسکریپت یک زبان شبه شی گرا یا همون LOO که اولین بار توسط NetSpace ارائه شد و تنها یک فایل متنی بود که بر روی مرورگر اجرا میشد و هدف اولیه آن هم ارزیابی بود . شاید خیلی از دوستان به یاد داشته باشند که در سیستم عامل های 98 به قبل یک مرورگر به اسم Netspace وجود داشت که خب بهتر از explorer امروزی بود 2-جاوا یک زبان کامپایلی هست یعنی بعد اینکه کدها نوشته میشود باید کامپایل شده (تبدیل شده) و سپس اجرا شود اما جاوا اسکریپت یک زبان مفسری هست یعنی زبانی که مرحله اجرا و کامپایل با هم میباشد و جدا نیست مثل جاوا و این وظیفه بر روی مرورگر هست3- ﯾﺎدﮔﯿﺮي ﺟﺎوااﺳﮑﺮﯾﭙﺖ ﺑﺴﯿﺎر ﺳﺎده ﺗﺮ از ﺟﺎوا اﺳﺖ. اﯾﻦ ﺑﻪ اﯾﻦ ﺧﺎﻃﺮ اﺳﺖ ﮐﻪ ﻫﻤﻪ آﻧﭽﻪ ﺷﻤﺎ ﺑﻪ ﻋﻨﻮان ﯾﮏ ﺗﻮﺳﻌﻪ اﺳﺖ. ﺑﺎ اﯾﻦ ﺣﺎل ﭼﻨﺎﻧﭽﻪ درك درﺳﺘﯽ از HTMLدﻫﻨﺪ وب ﺑﺮاي ﯾﺎدﮔﯿﺮي ﺟﺎوااﺳﮑﺮﯾﭙﺖ ﻧﯿﺎز دارﯾﺪ درﮐﯽ ﻋﻤﯿﻖ از ﺟﺎوااﺳﮑﺮﯾﭙﺖ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﯾﺎدﮔﯿﺮي ﺟﺎوا ﻧﯿﺰ ﺑﺮاﯾﺘﺎن ﺳﻬﻞ و دﻟﭙﺬﯾﺮ ﺧﻮاﻫﺪ ﺷﺪ!4- از ﺗﻔﺎوت ﻫﺎي ﻣﻬﻢ دﯾﮕﺮ اﯾﻦ دو زﺑﺎن ﻣﯽ ﺗﻮان ﺑﻪ ﺳﺒﮏ ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ ﻫﺎ در آن ﻫﺎ اﺷﺎره ﮐﺮد. زﺑﺎن ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺗﻘﺴﯿﻢ ﻣﯽ ﺷﻮﻧﺪ. Loosely Type و Strongly Typeاز ﻟﺤﺎظ ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ ﻫﺎ ﺑﻪ دو دﺳﺘﻪ زﺑﺎن ﻫﺎي در زﺑﺎن ﻫﺎي ﺑﺎ ﻧﻮع ﻗﻮي ﻣﯽ ﺑﺎﯾﺴﺖ اﺑﺘﺪا ﻧﻮع ﻣﺘﻐﯿﺮﻫﺎ را ﺗﻌﯿﯿﻦ و ﺳﭙﺲ در ﺑﺮﻧﺎﻣﻪ از آن اﺳﺘﻔﺎده ﻧﻤﻮد. ﻧﻮع اﯾﻦ ﮔﻮﻧﻪ ﻣﺘﻐﯿﺮ ﻫﺎ را ﻧﻤﯽ ﺗﻮان در ﻃﻮل اﺟﺮا ﺑﺮﻧﺎﻣﻪ ﺗﻐﯿﯿﺮ داد و در ﺻﻮرﺗﯽ ﮐﻪ اﯾﻦ ﻣﺘﻐﯿﺮﻫﺎ ﺑﺎ ﻋﻤﻠﮕﺮﻫﺎي ﻣﻨﺎﺳﺐ ﺧﻮد ﺑﻪ ﮐﺎر از اﯾﻦ دﺳﺖ زﺑﺎن ﻫﺎ java و C++ﻧﺮوﻧﺪ ﻧﺘﺎﯾﺞ ﻧﺎدرﺳﺖ ﺑﻪ دﺳﺖ ﻣﯽ آﯾﻨﺪ و ﯾﺎ ﺧﻄﺎﯾﯽ ﺑﻪ وﻗﻮع ﻣﯽ ﭘﯿﻮﻧﺪد. زﺑﺎن ﻫﺎي ﻫﺴﺘﻨﺪ.5-در ﻣﻘﺎﺑﻞ در زﺑﺎن ﻫﺎي ﺑﺎ ﻧﻮع ﺿﻌﯿﻒ ﻧﯿﺎزي ﺑﻪ ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮﻫﺎ و ﺗﻌﯿﯿﻦ ﻧﻮع داده آن ﻫﺎ ﻧﻤﯽ ﺑﺎﺷﺪ. در اﯾﻦ زﺑﺎن ﻫﺎ ﺗﻌﯿﯿﻦ ﻧﻮع ﻫﺎي داده ﺑﻪ ﻃﻮر ﺧﻮدﮐﺎر و ﺑﺮ ﺣﺴﺐ ﻧﯿﺎز ﺗﻮﺳﻂ ﺧﻮد زﺑﺎن اﻧﺠﺎم ﻣﯽ ﮔﯿﺮد و ﺑﻨﺎﺑﺮاﯾﻦ در ﻃﯽ ﻓﺮآﯾﻨﺪ ﭘﺮدازش داده ﻫﺎ ﻣﯽ ﺗﻮان در ﻫﺮ ﻣﺮﺣﻠﻪ ﺑﻪ راﺣﺘﯽ ﻧﻮع داده ﻫﺎ را ﺑﺮرﺳﯽ و ﺗﻐﯿﯿﺮ داد. زﺑﺎن ﻫﺎﯾﯽ ﻫﻤﭽﻮن دﺳﺖ ﻫﺴﺘﻨﺪ.6-جاوا اسکریپت از تمامی نحو ساختاری زبان C پشتیبانی میکند. مانند گزاره (if و switch و حلقههای while و...) یک مورد استثنا تعیین حوزهٔ متغیرهاست: تعریف حوزه در حد block در جاوا اسکریپت وجود ندارد. هر چند جاوا اسکریپت ۱٫۷ با کلمهٔ کلیدی let این نوع حوزه دهی را امکانپذیر میسازد. مانند c در جاوا اسکریپت بین عبارت و گزاره تفاوت وجود دارد.چند نکته :اول : جاوا اسکریپت هم جز زبان هایی است که به حروف بزرگ و کوچک اهمیت قائل شده مثال : Black با متغیر black کاملا متفاوت استدوم :داخل اکثر زبان ها ما نوع متغیر تعریف میکنیم که از چه نوعی هستند اما درون جاوا اسکریپت نیاز به اینکار نیستسوم:جاوا اسکریپت مقدار گرا میباشد ﯾﻌﻨﯽ در ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﺗﻌﺮﯾﻒ (ﻣﻘﺪاردﻫﯽ) ﻣﯽ ﺷﻮﻧﺪ ﻧﻮﻋﺸﺎن ﻧﯿﺰ ﻣﺸﺨﺺ ﻣﯽ ﮔﺮدد. اﯾﻦ وﯾﮋﮔﯽ اﻣﮑﺎن ﺗﻐﯿﯿﺮ ﻧﻮع داده ذﺧﯿﺮه ﺷﺪه در ﯾﮏ ﻣﺘﻐﯿﺮ در ﻫﺮ ﻧﻘﻄﻪ اي از ﺑﺮﻧﺎﻣﻪ را ﻓﺮاﻫﻢ ﻣﯽ ﮐﻨﺪ.چهارم: ﻗﺮار دادن( ; ) در اﻧﺘﻬﺎي ﻫﺮ دﺳﺘﻮر اﺧﺘﯿﺎري اﺳﺖ. دﺳﺘﻮرات در ﺟﺎوا اﺳﮑﺮﯾﭙﺖ ﻣﯽ ﺗﻮاﻧﻨﺪ ﺑﻪ ; ﺧﺘﻢ ﺷﻮﻧﺪ ﯾﺎ ﻧﺸﻮﻧﺪ. در ﺻﻮرت ﭼﺸﻢ ﭘﻮﺷﯽ از ; ، ﺟﺎوا اﺳﮑﺮﯾﭙﺖ اﻧﺘﻬﺎي ﻫﺮ ﺧﻂ را ﺑﻪ ﻋﻨﻮان ﭘﺎﯾﺎن دﺳﺘﻮر در ﻧﻈﺮ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ. ﺑﺎ اﯾﻦ ﺣﺎل روش ﺻﺤﯿﺢ ، اﺳﺘﻔﺎده از ; در اﻧﺘﻬﺎي دﺳﺘﻮرات اﺳﺖ. ﭼﻮن ﺑﻌﻀﯽ از ﻣﺮورﮔﺮﻫﺎ از روش اول ﭘﺸﺘﯿﺒﺎﻧﯽ ﻧﻤﯽ ﮐﻨﺪ و ﻣﻤﮑﻦ اﺳﺖ در اﺟﺮاي ﮐﺪﻫﺎ دﭼﺎر ﻣﺸﮑﻞ ﺷﻮﻧﺪ. 13 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 خب مقدمه کافی است و دوستانی که میخواهند اطلاعات بیشتری درباره سازنده و... بدونند میتونند از wikipedia استفاده کنند قسمت دوم:در همه زبان های برنامه نویسی ، شخص برنامه نویس میاد برای راحتی کار خودش از علامت ها و ... استفاده میکند که مشخص کند هر قسمت مربوط به چه چیزی است و... که به آن کامنت میگویند کامنت ها در برنامه نشان داده نخواهد شد (منظور هیچ عملی انجام نمیدهد) اما در سورس برای برنامه نویس نمایش داده خواهد شد تا کار برنامه نویس راحت کند و برای پیدا کردن قسمت خاص خط به خط نگرددخب در HTML میان از کد زیر استفاده میکنند:<!-- متنی که نمایش داده نخواهد شد -->و یا در CSS /* متن شما */و اما در جاوا اسکریپت به شکل زیر میباشد :برای یک خط توضیح // توضیح یک خطو برای چندین خط توضیح از :/* توضیح چندینخطی*/تعریف یک متغیر:در بالا توضیح داده شد که در جاوا اسکریپت نیاز نیست به متغیر نوع بدهیم که از نوع string و یا integer و یا long و یا ... باشد برای همین تعریف متغیر نوع خاصی ندارد فقط کافیست که قبل اسم متغیر یک var دهیم و خود به متغیر تبدیل میشودمثال اول:var blackمثال 2:var black = 5 در اینجا متغیر black برابر شد با عدد 5شما میتونید چندین متغیر هم تعریف کنید به صورت زیر :var black=24 , var ali=20 , var reza = 'Fun'دقت کنید برای نمایش مقدار رشته از تک کوتیشن استفاده شده است یعنی 'fun' اما مقدار عدد 5 نکته : در جاوا باید هر متغیر برابر یک مقدار باشد اما جاوا اسکریپت نیاز نیست مثل :var ali;ﺑﺮﺧﻼف ﺟﺎوا ﻣﺘﻐﯿﺮﻫﺎ ﻣﯽ ﺗﻮاﻧﻨﺪ در زﻣﺎنﻫﺎي ﻣﺨﺘﻠﻒ ﻣﻘﺎدﯾﺮ ﻣﺘﻔﺎوﺗﯽ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. اﯾﻦ ﯾﮑﯽ از اﻣﺘﯿﺎزات ﻣﺘﻐﯿﺮﻫﺎي ﺑﺪون ﻧﻮع در زﺑﺎن ﺟﺎوااﺳﮑﺮﯾﭙﺖ ﺑﻪ ﺷﻤﺎر ﻣﯽ رود. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﯾﮏ ﻣﺘﻐﯿﺮ ﻣﯽ ﺗﻮاﻧﺪ ﺑﺎﯾﺪ ﯾﮏ ﻣﻘﺪار رﺷﺘﻪاي ﻣﻘﺪاردﻫﯽ اوﻟﯿﻪ ﺷﺪه و ﺳﭙﺲ در اداﻣﻪ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﯾﮏ ﻣﻘﺪار ﻋﺪدي ﺗﻐﯿﯿﺮ ﮐﻨﺪ. ﺑﻪ ﻣﺜﺎل زﯾﺮ دﻗﺖ ﮐﻨﯿﺪ: var ali = 20;alert(ali);var black= 25alert(black)نام گذاری متغیر ها :متغیر ها در جاوا اسکریپت شرط خاصی برای نام گذاری ندارند اما همیشه سعی کنید الگوهای برنامه نویسی رعایت کنید تا در همه زبان ها به مشکل نخورید مثلا قبل متغیر _ و یا ... قرار ندهید متغیر با Number شروع نکنیدنمونه های زیر همه دست هستند var black;var $black;var _$black;var $1;کلمات کلیدی درون جاوا اسکریپت :یک سری کلمات هستند که درون جاوا اسکریپت هستند که رزرو شده هستند و شما نمیتوانید از آنها برای نام متغیر استفاده کنید و در صورت استفاده با خطا : Identifier expected مواجه خواهید شد Break else new var Case finally return void Catch for switch while Continue function this with Default if throw Delete in try Do instanceof typeof Abstract enum int short Boolean export interface static Byte extends long super Char final native synchronized Class float package throws Const goto private transient Debugger implements protected volatile Double import publعملگر های منطقی:دوستانی که زبان های برنامه نویسی کار میکنند بهتر میدونن که عملگر های منتطقی یکی از مهمترین عناصر هست جرا؟ دلیل جلوتر مشخص میشه عملگر های منطقی مثل جمع ، ضرب ، تقسیم ، کسر و یا همان ( + - * /) هستند در عملگر های منتطقی ++ و یا -- به هر 2 صورت صحیح است x++ و یا ++x اما این دو نتیجه متفاوتی خواهد داشت در نوع اول x++ :ابتدا متغیر X در m قرار میگیرد و سپس یک واحد به X افزوده میشود.در نوع دوم ++x:ابتدا به X یک واحد اضافه شده و سپس متغیر X در m قرار میگیرد.عملگر های حسابی از لحاظ اجرا دارای اولویت میباشند.1. ()2. ++ , --3. * , / , %4. + , -یک نمونه برای عملکرد های دارای اولویت:A= B + D * C /A-1 + (E * D) بهتره برای خودتان چند نمونه بسازید و تست کنید تا مقداری راه بیوفتید توع تعریف متغیر و عملکرد ها و... خوبی این زبان هم این هست که نیاز به هیچ چیزی نیست و کافیه در یک نوت پد قرار بدید و تست کنید و نتیجه ببینید 13 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت سوم : در بالا گفتیم که نیاز نیست برای متغیر نوع تعیین کنیم اما خب گفتیم برای استاندارد سازی و یا مسائل مختلف میایم تعریف میکنیمبرای همین یک مقدار توضیح خواهم داد :نوع داده String :ﯾﻦ ﻧﻮع ﻣﯽ ﺗﻮاﻧﺪ ﺑﺮاي ذﺧﯿﺮه ﺻﻔﺮ ﯾﺎ ﭼﻨﺪﯾﻦ ﮐﺎراﮐﺘﺮ ﺑﻪ ﮐﺎر رود. ﻫﺮ ﮐﺎراﮐﺘﺮ در ﯾﮏ رﺷﺘﻪ ﻣﻮﻗﻌﯿﺘﯽ دارد. ﻣﻮﻗﻌﯿﺖ اوﻟﯿﻦ ﮐﺎراﮐﺘﺮ ﺻﻔﺮ اﺳﺖ. ﺑﺮاي ﺗﻌﺮﯾﻒ ﯾﮏ ﻣﺘﻐﯿﺮ رﺷﺘﻪ اي ﺑﺎﯾﺪ از ( ' ) ﯾﺎ ( " ) اﺳﺘﻔﺎده ﮐﻨﯿﻢ. ﻣﻌﻤﻮﻵ ﺑﺮاي ﺗﻌﺮﯾﻒ ﯾﮏ ﮐﺎراﮐﺘﺮ از ( ' ) و ﺑﺮاي ﺗﻌﺮﯾﻒ ﯾﮏ رﺷﺘﻪ از ( " ) اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد. مثال :var color="red" ;var color='red';نوع داده Boolean :یکی از پرطرفدار و پرکاربرد ترین از انواع داده ها Boolean میباشد ، این نوع فقط 2 مقدار را برمیگرداند که False و Trueمیباشد و یا همان درست و یا غلط بودن مقداراز این نوع برای چک کردن وارد شدن مقدار صحیح استفاده میشوداﮔﺮ ﭼﻪ ﺑﺮ ﺧﻼف زﺑﺎن ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻣﺘﺪاول، در ﺟﺎوا اﺳﮑﺮﯾﭙﺖ false یا 0 برابر نیست اما در صورت لزوم در عبارت های boolean به false تبدیل خواهد شد .ﻧﻮع داده Number :اﯾﻦ ﻧﻮع ﻧﯿﺰ ﯾﮑﯽ از ﭘﺮﮐﺎرﺑﺮدﺗﺮﯾﻦ اﻧﻮاع اﺳﺖ .از اﯾﻦ ﻧﻮع داده ﻣﯽ ﺗﻮان ﺑﺮاي ﻧﻤﺎﯾﺶ اﻋﺪاد ﺻﺤﯿﺢ 8 ﺑﺎﯾﺘﯽ و اعداد اعشاری 16 بایتی اﺳﺘﻔﺎده ﮐﺮد.var numer=55;var number=5.0;نوع داده Undefined :خب اگر ما به صورت معمول به متغیر خود نوع نداده باشیم خود جاوا اسکریپت به صورت پیشفرض از نوع Undefined میشناسد البته باید ما مقداری هم نداده باشیم (اگر مقدار داده باشیم از نوع های بالا پیروی میکند)یک نکته : اگر ما مقدار نداده باشیم خود چیزی که به ما میدهد Undefined میباشد اما اگر متغیر هم تعریف نکرده باشیم باز همین مقدار برمیگرداند و برای آن هیچ فرقی نمیکند اما کاملا این دو با هم متفاوت هستند برای درک بیشتر این مسوله یک مثال میزنم :var mahdi ;alert(typeof mahdi);مقداری که در خروجی میدهد به ما Undefinedحالا ما متغیری هم معرفی نمیکینم :var mahdi;alert(typeof mahdi);alert (typeof reza) ;reza یک متغیر هست که اعلان نشده است اما باز خروجی به ما مقدار Undefined را میدهد پس تفاوتی برای این نوع قائل نمیشود پس دقت کنیدیگ نکته دیگه : اگر هر عملگری به غیر از typeof برای Undefined استفاده شود دچار خطا میشودانواع تبدیل ها :یکی از ویژگی های دیگری که جاوا اسکریپت دارا هست تبدیل انواع Boolean , number , string میباشدآنهادر اصل اشیا کاذب هستند به اﯾﻦ ﻣﻌﻨﯽ ﮐﻪ داراي ﺧﺎﺻﯿﺖ ﻫﺎ و ﻣﺘﺪﻫﺎي ﻣﺸﺘﺮك و ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮدي میباشندبه عنوان مثال :var mahdi='red';alert(mahdi)در خروجی red چاپ میشود حال ما میخواهیم طول رشته متغیر mahdi حساب کنیم یا همون رشته redvar mahdi='red';alert(mahdi.length);خروجی به ما میدهد 3سه نوع متغیر Boolean , number , string متدی به نام tostring() برای تبدیل دارنداین متد برای نوع boolean یکی از مقادیر flase یا true را بستگی به نوع متغیر برمیگرداندتبدیل به اعداد :برای تبدیل رشته و.... به عدد از 2 متد باید استفاده کرد .برای مثال شما یک طول رشته دارید که درون آن ترکیب از اعداد و حروف و... میباشد و حالا شما میخواهید فقط اعداد آن بیرون بکشید باید از متدهای زیر استفاده کنیم :1-praseFloat2-parseIntنکته1: دقت کنید باید حروف I و F بزرگ باشند در غیر اینصورت با خطا مواجه خواهید شدنکته2:این متد فقط بر روی رشته های دارای عدد کار میکنند و در غیر این صورت NaN برمیگرداندمثال:var iNum1 = parseInt(“1234blue”); //returns 1234var iNum3 = parseInt("22.5"); //returns 22var iNum4 = parseInt("blue"); //returns NaNparseFloat نیز مثل متد parseInt عمل کرده و این متد از اولین کاراکتر شروع میکند و اگر عدد بود مقدار آنرا برمیگرداند و اگر نبود مقدار NaN را برمیگرداند این روند تا آخر کار ادامه پیدا خواهد کردﻋﻤﻞ ﮐﺮده و از اوﻟﯿﻦ ﮐﺎراﮐﺘﺮ ﺷﺮوع ﺑﻪ ﺟﺴﺘﺠﻮ ﻣﯽ ﮐﻨﺪ. اﻟﺒﺘﻪ در اﯾﻦ ﻣﺘﺪ اوﻟﯿﻦ ﮐﺎراﮐﺘﺮ ﻧﻘﻄﻪ ﺣﺴﺎب ﻧﻤﯽ ﺷﻮد و آن را ﺑﻪ ﻫﻤﺎن ﺻﻮرت ﺑﺮﻣﯽﮔﺮداﻧﺪاﮔﺮ دو ﮐﺎراﮐﺘﺮ ﻧﻘﻄﻪ در رﺷﺘﻪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ دوﻣﯿﻦ ﻧﻘﻄﻪ ﺑﻪ ﻋﻨﻮان ﮐﺎراﮐﺘﺮ ﺑﯽ ارزش ﺷﻨﺎﺧﺘﻪ ﻣﯽ ﺷﻮد و ﻋﻤﻠﯿﺎت ﺗﺒﺪﯾﻞ ﻣﺘﻮﻗﻒ ﻣﯽ ﺷﻮد. ﻣﺜﺎل ﻫﺎ: var fNum1 = parseFloat(“1234blue”); //returns 1234.0var fNum3 = parseFloat(“22.5”); //returns 22.5var fNum4 = parseFloat(“22.34.5”); //returns 22.34var fNum6 = parseFloat(“blue”); //returns NaN---------راستش نوشتن این همه خط آسون نیست و اگر غلط املاء از بنده دیدید به بزرگی خودتون ببخشید --------- 10 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت چهارم در آموزش قبل آموختیم که چگونه یک متغیر بسازیم و تبدیل کنیم حالا میخواهیم آموخته های خود درون یک برگه تست کنیممیدانیم که جاوا اسکریپت به تنهایی قادر به پردازش نیست و باید در مرورگر اجرا شود و سمت کلاینت میباشد پس باید درون یک قالب قرار دادنحوه قرار گیری در قالب به 2 صورت میباشد :1-<script language=”Javascript” src=”scripts/external.js”></script>2-<script>Your Code</script>در قسمت اول شما کدهای خودتان را در یک صفحه نوشته و میخواهید از صفحه خارج کنیددر قسمت دوم شما میتونید در صفحه خودتون لود کنید و اجرا کنیدمزایا و معایب فایل های خارجی با داخلی :1-امنیت : هر شخصی به راحتی میتواند کدهای شما را ببیند و آنالیز کند و به باگ یا حفره ای خاص برسد (فرق زیادی هم براشون نمیکنه کدهای خارجی هم میشه از لینک باز کرد)2-ساده نویسی(بهینه سازی) :شاید شما بخواهید از یک کد در چندین صفحه مختلف و... استفاده کنید وخب باز نویسی این کدها و... باعث طولانی شدن و تلف شدن زمان و یا ... میشود3-ذخیره در مرورگر : زمانی که برای اولین بار لود میشود در حافظه نهان مرورگر ذخیره میشود و با بازکردن دوباره سایت نیاز به پردازش دوباره نسبت به مورد دوم نیستمحل قرارگیری کجاست ؟ببینید معمولا فایل های لازم برای اجرا قالب در header قالب قبل از تگ </heqad> قرار میدهند که بلافاصله از باز شدن قالب شروع به کار کند و...مثال:<html><head><title>music test </title><script src="js/sTest.js" ></script></head><body><form><input type="" name="url"><input type="submit" ></form></body></html>نکته:اما زمانی هست که کدهای جاوا شما سنگین هست و نیازی نیست همان اول لود شوند چون اگر سنگین باشند و نیاز به پردازش بالا تا انجام نشده و مقدار برنگردد بقیه قالب به صورت صحیح لود نمیشود پس در بعضی از مواقع شما میتونیددر آخر قالب لود کنید یعنی قالب لود شده سپس کدها پردازش و جواب ارسال شود که خب سرعت سایت بسیار بالاتر میرودصفت های فراخانی :در کدبالا شما میتوانید از چندین صفت استفاده کنید ( معمولا 3 میباشد )src :این صفت برای فراخانی لینک میباشد مثال اگر فایل شما در مسیر js/test/mahdi.js باشد باید به صورت زیر همراه با ( " " ) و یا ( ' ' ) قرار بگیرد _ (دلیل بسیار هست اما در آموزش های html توضیح داده شده است اما بهتر است از " " استفاده کنید) نمونه :<script src=" "></script><script src=' '></script>Language:مثل بقیه زبان های برنامه نویسی جاوا اسکریپت هم دارای ورژن و یا نسخه میباشد اما معمولا برابر با javascript و یا یکی از ورژن های آن همانند 1.3 میباشد (در امروزه نیاز به نوشتن نسخه نیست )Type : این هم نوع خروجی مشخص میکند که معمولا برابر با text/javascript میباشد یک نمونه از موارد بالا :<script src="appbanner.js" type="text/javascript"></script>خب زمانی هم هست که کدها کم است و پردازش سریعا باید انجام شود و موارد این چنینی که در خود قالب قرار بدیددر این قسمت هم شما میتوانید از صفت هایی که در بالا قرار داده شده است استفاده کنیدمثل نمونه زیر :<html><head><title>music test </title><script >var mahdi = 25;alert(mahdi);</script></head><body><form><input type="" name="url"><input type="submit" ></form></body></html>-------------------------------در هر 2 صورت کدهای شما اجرا خواهد شد و توضیح دادیم که چرا و چگونهحالا یک سوال : شخصی از مرورگر قدیمی استفاده میکند و جاوا اسکریپت پشتیبانی نمیکند و یا اینکه غیر فعال کرده است ما باید چه کاری انجام دهیم تا متوجه یشود ؟؟پاسخ:برای اینکه شخصی متوجه کنیم که سایت ما دارای قابلیت هایی است که نیاز به جاوا اسکریپت دارد میتوانیم از معکوس مورد بالا یا همون noscript استفاده کنیمالبته کسی که هنوز مرورگرش جاوا اسکریپت پشتیبانی نکنه سایت نتونه ببینه بهتره کلاٌ مثال:<noscript> <p>Your browser doesn’t support Javascript. If it did support Javascript, you would see this message: Hi!</p> </noscript>نکته : محل قرار گیری هم در بالا توضیح دادیم اما این کد بهتره در header باشه تا اول بسم الله به کاربر اطلاع دهدآموزش مقدماتی فکر میکنم کاقی باشهچیزهایی که آموختید :1-نحوه قرارگیری کدها 2-شکل صحیح کدها3-تعریف متغیر 4-تبدیل متغیر ها 5-صفت ها 6-انواع متغیر ها و....----------------------------------بسیار سعی مردم ساده گفته باشم و از تجربه بیشتر استفاده کنم خیلی از موارد در تجربه به دست می آید و در آموزش ها نیست بزرگترین استاد هم تجربه میباشدانشالله موفق باشیدBlack_Sky 7 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت پنجم:همه برنامه نویسان با جمله معروف Hello World آشنا هستند و میدانند اولین برنامه ها رو با این جمله نوشتن البته ما Hello world چاپ نمیکنیم Black چاپ میکنیم خب در زبان های مختلف برای چاپ و یا خروجی گرفتن از دستورات متعددی استفاده میشود اما معمولا همون print استفاده میشودمثال :php = echoPython =printRuby = putو..... اما در زبان جاوا اسکریپت شما میتونید با document.write خروجی بگیریدdocument.write : اين دستور برای نمايش يک متن خروجی که در پرانتز جلوی آن تعيين می شود ، در صفحه به کار می رود . در ادامه با شی document و خواص و متدهای آن آشنا خواهيد شد .مثال : ما میخواهیم متن Black در صفحه با جاوا اسکریپت نمایش دهیممیتونیم هم یک متغیر تعریف کنیم و متن درون متغیر چاپ کنیم مثل :var name= "black"document.write (name);و یا میتوانیم متن مورد نظر مستقیم به صفحه وارد کنیم مثل :document.write("Black")پس به هر 2 صورت صحیح است حال اگر بخواهیم " " استفاده کنیم چه ؟ دچار تداخل نمیشود ؟مثال : ما میخواهیم کلمه Black بین "" باشد یعنی به این صورت :"Black_Sky" Was Hereاگر به صورت زیر بنویسیم :document.write(" "Bkack_Sky" Was Here ")با خطا مواجه میشویم چون برنامه قادر به تشخص نیست که کدام رشته را از کجا تا کجا چاپ کند چون در دو از " " استفاده شده استبرای همین از \ استفاده میکینمشکل صحیح:document.write(" \"Black_Sky\" Was Here")برای رفتن به خط بعدو موارد اینگونه هم میتونید از تگهای HTML استفاده کنیدمثال:document.write("<br>mahdi<br><b>reza</b><br><u><i>morteza</i></u>")درون document.write میتونید از تگها و ... استفاده کنیدیعضا کدهای تبلیغاتی دیدید که یک خط شما کپی میکنید که یک فایل js را لود میکند اما وقتی در سایت شما قرار داده میشود یک تبلیغات بسیار بزرگ با لینک و... میباشد خوب ساختار به همین گونه هست کدهای html و css خودشون در document.write قرار میدهند و در سرور ذخیره میکنند و به شما فقط یک خط کد فراخانی جاوا اسکریپت خارجی میدهند یا مثلا سایت هایی که ابزاردهی میکنند و شما کدهاشون درون سایت قرار میدید و میبینید یک ساعت میباشد و یا ... 9 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت ششم :در آموزش بالا آموختید که چگونه خروجی بگیرید توسط document.write اما فقط همین نیست شما میتونید توسط پنجره popup هم خروجی خودتون نمایش بدید Alert:پنجره ای که به صورت popup نمایش داده میشود و شما دوستان بیشتر در تبلیغات و... میبینید و یا زمانی هست که وارد یک سایت میشوید تا پنجره تایید نکنید اجازه ورود نخواهد دادساختار Alert : ساختار به همان صورت بالا میباشد با این تفاوت که به جای document.write از alert استفاده میکنیم نمونه :alert("mahdi")خروجی :خب خروجی ما چاپ شده است حالا اگر بخواهیم در متغیر تعریف کنیم و یا ... در قسمت پنجم کامل توضیح داده شده و یکی هستندحالا اگر بخواهیم مثل document.write به خط بعدی برویم چه کار کنیم ؟ خوب اینجا از کدهای html نمیشه استفاده کرد و به صورت زیر ظاهر میشوند :بس برای خط بعد رفتن از ( n/ ) استفاده میکنیم مثال:alert("mahdi\n reza\n Morteza\n")خروجی ما میشود :البته یک سری از کاراکترهایی هستند که شما قادر به استفاده به صورت مستقیم نیستید پس باید به همین روش عمل کنید که در جدول زیر توضیح داده شده است :این ها به 3 صورت هستند و یکی از آنها alert میباشد در آموزش های بعدی کامل یاد خواهیم داد 7 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت هفتم :خوب در این قسمت وارد دستورات شرطی میشویمخونسرد باشید این تصویر نه نقشه و نه مدار و ... هست صرفا جهت مفهوم درس میباشد در دنیای واقعی ما همیشه در فکر هستیم که اگر اینکار کردیم نشد بعدشم چیکار کنیم و یا اگه اون کار کردیم بازم نشد چیکار کنیم ؟ چه کار میکنید واقعا؟هیچی برای خودتون یک راه حل قرار میدیدمثال: اگر پول من به مقدار 100 تومان برسد دوچرخه خریداری میکنم اما اگر نرسد باید 1 سال صبر کنمما اومدیم جیب خودمون بررسی کردیم که اگر پول 100 تومان بود بریم خرید دوچرخه اما فکر این هم کردیم که اگر نبود باید 1 سال صبر کنم به این میگن شرط برای خودموندر دنیای برنامه نویسی هم این شرط ها وجود دارند و با if و else مشخص میشوندif : اگر شرط برقرار بود عملیات انجام شود و یا به عبارن دیگه دستورات شرطesle اگر شرط برقرار نبود دستورات else اجرا شودبرای مثال یک متغیر تعریف میکنیم به اسم x و مقدار اون برابر mahdi قرار میدهیم و یک متغیر دیگه که میخواهیم مقایسه کنیم مثلا y که برابر reza باشد :var x = "mahdi"var y = "reza"دقت کنید : نوع درست یا غلط بودن و یا مقایسه با یکدیگر توسط عملگر های منتطقی انجام میدهد که در جدول زیر توضیح داده شده است حال میخواهیم بررسی کنیم که اگر مهدی بود شرطی برقرار شود مثلا بنویسد hello mahdi var x ="mahdi"var y = "reza"if( y == x) {document.write("hello Mahdi");}ما از==استفاده کردیم برای برقراری شرط دلیل هم در بالا در جدول قرار داده شده استخروجی کد بالا به ما چیزی نمیدهد چرا ؟ چون x = y نیستحالا در 2 متغیر یکی میکنیم ببینیم شرط درست است یا خیر ؟var x ="mahdi"var y = "mahdi"if( y == x) {document.write("hello Mahdi");}else {document.write("No")}خروجی به ما میدهد :hello Mahdiبه همین سادگی حال میخواهیم بگیم اگر برابر نبود متنی چاپ کندیعنی رضا با مهدی برابر نیست در خط زیر پس چاپ کن No که با دستور else میباشدvar x ="mahdi"var y = "reza"if( y == x) {document.write("hello Mahdi");}else {document.write("No")}خروجی به ما No میدهدچندین مثال میزنم :1-var x = 10;var y = 20;if( y <= x) {document.write("Ok");}else {document.write("No ")}2-var x = 10;var y = 20;if( y != x) {document.write("Ok");}else {document.write("No ")}نکته : شما باید درون عملگر ها دقت کنیدروش صحیح مقایسه ها به این صورت است که ابتدا عملگر مد نظر مثلا < و بعد =یعنی :<=>=!===و اگر به صورت زیر باشد صحیح نیست=>=<=!یک سوال شاید برای شما پیش آمده باشد که اگر جندین شرط وجود داشته باشد چه کار کنیم ؟خب نیاز به esle if پیدا میکنیم و ساختار همان اسم اما یه مقدار تفاوت که فکر نمیکنم نیاز به توضیح باشدif ( گروه شرط های شماره 1 ){دستوراتی که در صورت بر قرار بودن گروه شرط های 1 اجرا می شوند}else if ( گروه شرط های شماره 2 ){دستوراتی که در صورت بر قرار بودن گروه شرط های 2 اجرا می شوند}else if ( گروه شرط های شماره 3 ){دستوراتی که در صورت بر قرار بودن گروه شرط های 3 اجرا می شوند}.......else{دستوراتی که در صورت عدم بر قراری تمام گروه شرط های فوق اجرا می شوند}نکته 1 : به تعداد مورد نياز می توان در اين ساختار به وسيله دستور else if شرط و دستورات جديد تعريف کرد .نکته 2 :استفاده از کروشه در قسمت دستورات شرط if ، فقط در زمانی که دستورات مورد نظر بيش از يک خط هستند ، ضروری است .نکته 3 : تعيين قسمت else در ساختار فوق اختياری بوده و می تواند تعريف نشود .نکته 4 : در زمانی که تعداد حالت های شروط بسيار زياد هستند ، بهتر است از ساختار Switch استفاده کرد .نکته 5 : دستورات شرطی تقریبا در اکثر زبان ها به همین صورت هستند که با if و else میباشند پس این بدونید که اگر این آموزش ها کامل یاد بگیرید در زبان های دیگر راحت میتونید استفاده کنید و یاد بگیریدانشالله که استفاده کرده باشیدموفق باشیدBlack_Sky 8 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت هشتم :در قسمت قبل یاد گرفتید که چگونه دستورات شرطی استفاده کنیم در این قسمت درباره حلقه ها و یا همون Loop صحبت میکنیم اصلا حلقه یا loop چیست ؟ اگر شما بخواهید یک سری دستور یا پارامتر خاصی را به صورت تعداد دفعاتی معین انجام شود چه کار کنیم ؟ برای مثال:میخواهیم برنامه ای بنویسیم که شروع کند به شمردن اعداد از 1 تا 10 خب اگر خودمان بنویسیم باید به همین مقدار کد بنویسیم که شاید بشه 10 خطخب اگر عدد بیشتر بود چی ؟مثلا 100000000 ؟ باید بی مقدار کد بنویسیم یا اگر بخواهیم مثا شمارنده های معکوس از 100 شروع کند به کم کردن چه کار کنیم ؟ ما میتونیم اینکار انجام بدیم ؟ ما 4 متود داریم که توضیج خواهم داد :1-for2-while3-do ... whilefor ... in-4----------------------------------------------For :از حلقه for ، زمانی استفاده می شود که می خواهيم مجموعه دستورالعمل های حلقه به تعداد دفعات معينی انجام شود که ساختار آن به صورت زیر میباشد--------------------------------------------اين حلقه در هنگام تعريف 3 پارامتر اصلی دارد :مقدار اوليه متغير (Counter): به وسيله اين مقدار ، مقدار اوليه برای شروع شمارنده حلقه تعيين می شود .عبارت کنترلی (Condition Expression): در اين قسمت يک عبارت کنترلی مرتبط با شمارنده حلقه تعيين می شود ، که در هر بار اجرای مجدد حلقه ، شرط عبارت کنترل شده و در صورت برقرار بودن شرط ، دستورات حلقه اجرا می شود .گام افزايش يا کاهش (Step) : در اين قسمت ، ميزانی که متغير شمارنده حلقه ، در هر بار اجرای دستورات آن افزايش يا کاهش می يابد را تعيين می کنيم .پس ساختار ما میشود :for (Counter;Condition Expression;Step) {قسمت بدنه} خب یک مثال:ما میخواهیم از شماره 2 شروع کند به شمردن و هر جا که عدد 20 شد آن متوقف کند و برای ما نمایش دهد خب ما مقدار اولیه 2 قرار باید بدیم پس Counter میشود 2 پس عدد 2 درون یک متغیر ذخیره میکنیم :for (x = 2;Condition Expression;Step) {قسمت بدنه} مسئله به ما گفته است که هرجا 20 رسید قطع کن و چیزی چاپ نکن پس باید بگیم که از x بشمار تا 20 که میشه :for (x = 2;x<=20;Step) {قسمت بدنه} در قسمت سوم مسئله گفته شده است بشمارد تا 20 خب مقدار اولیه ما 2 هست یعنی باید به عدد 2 ما اضافه کند پس میشه افزایشی که در بالا گفته بودم برای 1 واحد 1 واحد افزایشی از چی استفاده میکنیم از ++ استفاده میکنیم و متغییر میگیم اضافه کند که میشه :for (x = 2;x<=20;x++) {قسمت بدنه} خب شمارش آغاز میشه و تا عدد 20 میرود اما ما میخواهیم ببینیم چطوری میشمارد و یا اینکه میخواهیم یک دستور 20 دفعه انجام دهد پس دستورات هم در قسمت بدنه وارد میکنیم :for (x = 2;x<=20;x++) {document.write("print number" +x+ "<br>")} خروجی ما هم میشود :از 2 شروع کرد و دستورات چاپ کرد تا به 20 برسد مثال 2 : همانطور که گفتيم می توان قسمت پارامترهای مقدار اوليه و گام افزايش يا کاهش را در يک حلقه for خالی گذاشته و مقدار اوليه را قبل از تعريف حلقه و گام حلقه را در درون بلاک کد حلقه تعيين کرد . مثال شماره 1 را به اين صورت نيز می توان نوشت : var x = 1; for ( ; x <= 20 ; ) { document.write ("print number " + x + "<br />") ; x++ ; }باز خروجی به همان صورت میباشدنکته و مثال 3 : گام يک حلقه می تواند منفی يا کاهشی نيز باشد . در مثال زير شمارنده حلقه با هر بار اجرای حلقه يک واحد کاهش می يابد (در بالا توضیح دادم برگردید متوجه میشوید): var x ; for ( x = 20 ; x >= 1 ; x-- ) { document.write ("Line number is " + x + "<br />") ; } خروجی میشود :شما میتونید از دستورات if و else هم برای برقراری شرط درون حلقه ها استفاده کنید که اگر شرط برقرار بود حلقه شروع به کار کند و اگر نبود alert بدهد اما خوب حلقه ها از پارامترهایی پشتیابنی میکنند که میتوان به آنها شرط داد و بدون نیاز به if و esle و ان هم while میباشد دراصل ماجرا با for تفاوت خاصی ندارد اما از نظر ساختار و ویژگی مقداری متفاوت است در قسمت بعد آموزش while میدهیم موفق باشید 7 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت نهم (While):در بالا توضیح دادیم که برای شرط درون حلقه ها میتوان از if هم استفاده کرد اما در جاوا اسکریپت متد وجود دارد برای اینکار به اسم whilewhile چیست ؟از حلقه while در جاوا اسکريپت ، برای اجرای دستورالعمل های مورد نظر تا زمانی که شرط يا شروط تعيين شده برای حلقه درست باشند ، استفاده می شود .1-در اين حالت ، ابتدا شرط حلقه در مقابل کلمه کليدی while تعريف می شود . 2-در هر بار اجرای حلقه ، برنامه شرط يا شروط حلقه را چک کرده و در صورت بر قرار بودن آن ، دستورالعمل های حلقه را يکبار اجرا کرده و مجددا به ابتدای حلقه باز می گردد . 3-در حلقه while نيز می توان از يک متغير برای کنترل اجرای حلقه استفاده کرد .4-در صورت استفاده از يک متغير شمارنده ، بايد گام افزايش يا کاهش متغير در بدنه دستورات حلقه تعريف شود و در صورت عدم استفاده از يک متغير کنترلی ، بايد شرط حلقه در ادامه به نحوی نقض شود ، وگرنه حلقه به صورت بی نهايت ادامه می يابد . while ( شرط يا شروط حلقه ){ دستوراالعمل های مورد نظر حلقه}یک مثال ساده :var n = 1 ; تعريف و مقدار دهی متغير کنترلی حلقهwhile ( n <= 5 ) قسمتی که شرط قرار میگیرد ما برای مثال قرار دادیم شما میتونید هر شرطی قرار بدید{ document.write ("Line number is " + n + "<br />") ; دستور چاپ در این خط داده ایم n++ ; گام افزايشی متغير کنترلی حلقه و یا میتونید از کاهشی استفاده کنید}فقط ساختار تفائت دارد دیدید چیز خاصی وجود نداردdo while : ساختار حلقه do ... while ، دقيقا همانند حلقه while است ، با اين تفاوت که شرط حلقه do ... while در انتهای حلقه تعريف و کنترل می شود . به عبارت ديگر در اين حلقه ابتدا يکبار دستورات حلقه اجرا شده و در آخر شرط حلقه برای اجرای مجدد ، کنترل می شود که در صورت درست بودن يکبار ديگر دستورات آن خواهد شد .مزيت اين حلقه نسبت به حلقه while اين است که ، در حلقه while در صورت عدم برقراری شرط حلقه دستورات آن هيچگاه اجرا نخواه شد . اما در حلقه do ... while ، حتی در صورت غلط بودن و عدم برقراری شرط حلقه ، دستورات آن حداقل يکبار اجرا خواهد شد .شکل کلی تعريف يک حلقه do ... while به صورت زير است :do{دستورات حلقه}while ( شرط يا شروط حلقه )var n = 1 ; تعريف و مقدار دهی متغير کنترلی حلقهdo{ document.write ("Line number is " + n + "<br />") ; n++ ; گام افزايشی متغير کنترلی حلقه}while ( n <= 5 )خروجی میشود :Line number is 1Line number is 2Line number is 3Line number is 4Line number is 5مثال : در مثال زير يک حلقه do ... while تعريف شده که شرط اجرای دستورات آن کوچکتر بودن متغير c از 5 است . اما قبل از حلقه متغير c با مقدار 8 مقدار دهی شده است . می بينيم که با وجود اشتباه بودن و عدم برقراری شرط حلقه دستورات آن حداقل يکبار اجرا شده و خروجی توليد کرده است ، ولی سری دوم اجرای حلقه به دليل عدم برقراری شرط آن اجرا نشده است :var c = 8 ; تعريف و مقدار دهی متغير کنترلی حلقهdo{ document.write ("Line number is " + c + "<br />") ; c++ ; }while ( c <= 5 )خروجی میشود :Line number is 8 5 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت دهم :ذر این قسمت درباره توابع صحبت میکنیمبرای استفاده از دستوراتی که تاکنون آموختید باید از توابع استفاده کنیدتوابع به مجموعه ای از واحد دستور العمل ها میباشد (زیر برنامه ها) که هربار لازم است میتواند توسط طراح و برنامه نویس اجرا شودسوال:چرا از توابع استفاده کنیم ؟ مگه به صورت عادی نمایش نمیدهد؟!جواب:چرا نمایش میدهد اما فرض کنید چندین عمل دارید که لازم است در چندین جای مختلف در اون برنامه اجرا شود ، خب باید شما آنرا چندین باره بنویسید و.....استفاده از توابع در صفحات و اسکريپت ها ، امکانات زير را به برنامه نويس می دهد :1-دستورات يک تابع ( حتی در زمانی که اسکريپت آن در درون صفحه قرار دارد ) ، تا زمانی که فراخوانی نشود ، اجرا نخواهد شد . از توابع برای تعريف دستور العمل هايي استفاده می شود که می خواهيم اجرای آنها کنترل شده باشد و در مواقع معينی ( مثل وقوع يک رويداد يا ... ) انجام شود .3-يک تابع را می توان از هر نقطه ای در صفحه فراخوانی کرد .4-يک تابع می توان يکسری متغيرها را به عنوان پارامتر ورودی دريافت کرده و همچنين يک مقدار را به عنوان خروجی به نقطه ای که از آن فراخوانی شده، باز گردهند .توابع متشکل از چندیت خط دستور هستند و میتوانند چندین بار مورد استفاده قرار بگیرند.فرم کلی یک تابع به صورت زیر است :function نام تابع ( ){دستورات تابع}نام تابع که مشخص است همان اسمی که برای فرم کلی دستورالعمل ها میدهیمدستورات هم که مشخص است پس چیز گنگ و یا ... وحود نداردیک نمونه :function welcome( ){ document.write ( "Just For Fun" )}و اما خروجی چیزی نمایش داده نمیشود چون تابع در جایی فراخانی نشده است پس برای همین باید به صورت زیر فراخانی شود :برای مثال بالا فراخانی میکنیم :welcome ( ) ;نکته : يک تابع را می توان توسط رويدادهای يک کنترل HTML مثل يک دکمه فرمان نيز فراخوانی کرد . در اين حالت بايد مقدار رويداد مورد نظر را در تگ کنترل ، برابر نام تابع در نظر گرفت . به مثال زير دقت کنيد .مثال : در مثال زير تابع welcome که در مثال قبل توسط يک اسکريپت ديگر فراخوانی شده بود ، در اينجا توسط رويداد کليک ( onclick ) دکمه فرمان btnclick فراخوانی می شود . برای فراخوانی تابع بر روی دکمه فرمان مثال کليک کنيد .< html >< head >< title > عنوان صفحه < /title >< /head >< body >< script type="text/javascript" > function welcome( ) { document.write ( "Just For Fun Black_Sky" ) }< /script >< input type="button" id="Button1" onclick="welcome( )" value=" click me ! " / >< /body >< /html >یک تابع میتواند پارامتر هایی (Parameters) را نیز قبول کند.نمونه :function function_name(Parameters){قسمت بدنه ی تابع}Parameters: ( آرگومان)يک متغير است که می توان در هنگام فراخوانی يک تابع ، مقدار آن را به تابع ارجاع داد . به پارامتر ، آرگومان نيز می گويند .يک تابع می تواند ، چندين متغير را به عنوان پارامتر ورودی دريافت کند . پارامترهای يک تابع را بايد در هنگام تعريف تابع ، در پرانتز مقابل نام آن تعيين کرد ، که پارامترها را با کاما از هم جدا می کنيم .در هنگام فراخوانی يک تابع که دارای پارامتر است ، بايد در پرانتز مقابل نام آن ، مقادير متناظر با پارامترهايش را اعلام کرد . اين پارامترها بايد از لحاظ تعداد و نوع کاملا يکسان با پارامترهای تعريف شده در تابع باشند .ساختار به صورت زیر میباشد:funciton Name ( Parametr 1 , Parametr 2 , ... ){Code}مثال:function black ( var num1 , var num2 ) { code }در هنگام فراخوانی يک تابع نيز بايد به شکل زير پارامترهای آن را مقدار دهی کرد . توجه شود که نوع و تعداد متغيرها بايد کاملا يکسان با پارامترهای تعريف شده برای تابع باشد ، در غير اين صورت error رخ داده و تابع اجرا نمی شود .function نام تابع g ( Parametr 1 مقدار , Parametr 2 مقدار , ... ){دستورات تابع}فراخانی باید مقدار دهی شود مثل :multiple ( 2 , 10 ) ;نکته مهم : پارامتر های يک تابع ، به عنوان متغيرهای محلی برای آن تابع قابل استفاده هستند .برای کسانی که تازه برنامه نویسی شروع کرده اند مقدار درک شاید سخت باشد برای همین یک مثال میزنم :یک تابع تعریف میکنیم به اسم black (دقت کنید کوچک و بزرگ بودن مهم است) و 2 پارامتر تعریف میکنیم به num1 , num2 پس میشود :function black ( num1 , num2 ){}حالا ما میخواهیم مقدار های num1 در num 2 ضرب کنیم پس میشود :function black ( num1 , num2 ){ document.write(num1 * num2)}حال یک تابع تعریف میکنیم به اسم black2 و در آن مقدارها را تعیین میکنیم (در اینجا میخواهیم تابع را در تابع دیگر فراخانی کنیم)function black2 ( ){ var a = Text1.value ; var b = Text2.value ; multiple ( a , b ) ;}و در آخر میشود :< script type="text/javascript" >function black ( num1 , num2 ){ document.write ( num1 * num2 ) ;}< /script >< script type="text/javascript" >function black2 ( ){ var a = Text1.value ; var b = Text2.value ; black ( a , b ) ; فراخوانی تابع با پارامترهای لازم و چاپ خروجی}< /script >< input type="button" id="Button2" onclick="black2( )" value=" click me ! " />< input type="text" id="Text1" />< input type="text" id="Text2" />نحوه تعريف مقدار بازگشی برای يک تابع :يک تابع می تواند پس از انجام دستورات در نظر گرفته شده برای آن ، مقداری را به عنوان خروجی به نقطه ای که از آن فراخوانی شده است ، باز گرداند .برای تعيين مقدار بازگشتی يک تابع از دستور return استفاده کرده ، که مقدار خروجی را درپرانتز مقابل آن دستور به شکل زير تعريف می کنيم .return ( مقدار بازگشتی ) ;نکته : مقدار بازگشتی ، می تواند يک رشتته يا عدد ، يک متغير و يا يک عبارت محاسباتی باشد .مثال : تابع black را در مثال قبل با دستور return بازنويسی کرده ايم . در اين حالت تابع به جای استفاده از دستور document.write با دستور return ، مقدار را برای چاپ خروجی به تابع black2 بر می گرداند :< script type="text/javascript" >function black ( num1 , num2 ){return ( num1 * num2 ) ;}< /script >< script type="text/javascript" >function black2 ( ){var a = Text1.value ;var b = Text2.value ;document.write (black ( a , b )) ; فراخوانی تابع با پارامترهای لازم}< /script >< input type="button" id="Button2" onclick="black2( )" value=" click me ! " />< input type="text" id="Text1" />< input type="text" id="Text2" /> 5 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در فروردین 94 مالک گزارش بازنشر ارسال شده در فروردین 94 قسمت یازدهم :کادر پيام يا هشدار ( alert Box ) __ قبلا توضیح داده شده استکادر دريافت تاييد (confirm Box )کادر دريافت ورودی ( prompt Box )-----------در آموزش قسمت ششم توضیح دادیم که چگونه از alert ها درون جاوا اسکریپت استفاده کنیم و خب این پنجره دارای قابلیت و ویژگی هایی است که در اینجا بحث میکنیمجهت یاد آوری :برنامه ای بنویسید که یک عدد بگیرد و اگر آن عدد کوچکتر از 10 بود یک متن alert کند و اگر نبود یک پیغام جهت خطا نمایش دهد( چاپ کند) .نکته 1 : متن خطاها اختیاری میباشدنکته 2: وقتی میگوییم چاپ کند یعنی به صورت پرینت نمایش دهد (document.write)----راه حل ها به روش های متفاوتی میباشد که خب این یکی از ویژگی های برنامه نویسی میباشد اما من ساده ترین روش ها را با استفاده از چیزهایی که آموختید قرار میدهم1-ابتدا یک تابع تعریف میکنیم مثلا به نام mahdi2-درون تابع از دستورات شرطی if و else استفاده میکنیم3-با استفاده از alert و document.write دستورات خروجی میگیریم=======function mahdi (){var x =input.value;if (x <= 10)alert("Good Work");else document.write("No") ;}ساختار html هم به صورت زیر میشود :<input type="text" id="input" / ><input type="button" value="click " onclick="mahdi()" />confirm Box :خب درباره پیغام خطا توضیح دادیم و اما برای اعلام يک پيام به کاربر و دريافت نظر آن مبنی بر قبول يا عدم قبول پيام مورد نظر از confirm Box استفاده می شود .اين کادر دارای 2 دکمه فرمان OK و Cancel است ، که در صورت انتخاب گزينه OK ، کادر مقدار مثبت ( True ) و در صورت انتخاب گزينه Cancel ، کادر مقدار منفی ( False ) را به صفحه بر می گرداند .ساختار :ساختار هم به صورت زیر میباشد :confirm ( " متن پيام " ) ;خب همانطور که گفتیم از 2 مقدار استفاده میکند درست یا غلط خب ما میتونیم از پاسخ درست یا غلطی که به ما برمیگرداند در برنامه نویسی استفاده کنیم همانند دستورات شرطی اما دقت کنید اینجا فقط 2 مقدار هست بگذارید یک نمونه مثال برنم :میخواهم از کاربر درخواست کنیم که به یک صفحه منتقل شود اما قبلش میخواهیم پیغامی براش نمایش داده شود که آیا میخواهید منتقل شوید یا خیرخب اگر مقدار برگشتی true بود پس ما منتقل میکنیم (و یا متنی چاپ میکنیم هر کدام راحت تر هستید) اگر مقدار flase برگشت یک متن دیگه نمایش دهدبه صورت زیر میتوان نوشت :function mahdi( ){ var x = confirm ( "Do you want go to home page ? " ) ; if ( x == true ) document.write( "Go To Home " ); else document.write ( " You pressed Cancel ! " ) ;}, html<input type="button" id="btnChange" value=" go to Home Page ? " onclick="mahdi( )" />prompt Box :در این باکس هم میتوان مقداری وارد کرد و آن هم دارای 2 مقدار هست ok و cancellورودی از سمت کاربر دریافت میشودنمونه :<script type="text/javascript" >function mahdi( ){ var name = prompt ( "enter your name") ; if ( name != null ) document.write ( "hello dear " + name + " " + "Welcome" ) ;}}</script ><input type="button" value=" Enter " onclick="mahdi( )" /> 4 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در اردیبهشت 94 مالک گزارش بازنشر ارسال شده در اردیبهشت 94 *** صحبتی با دوستان :* اول اینکه ممنون از همه دوستانی که این تاپیک پیگیری میکنند دوم چند نکته نیاز دیدم که بگم* این آموزش ها مقدمه ای بر آموزش های بعدی در زبان های مختلف هستند یعنی سعی کردم به حدی به زبان ساده صحبت کنم که هم برای برنامه نویسان و هم برای کاربران عادی راحت و قابل درک باشد پس به راحتی قابل آموختن هستند اما اگر * این آموزشها نیاموخته باشید و منظور از نوع متغیر ها ، دستورات شرطی و... ندانید مطمئن باشید در آموزش بعدی که زبان هایی همچون php , perl , python , ruby هستند هم نمیتوانید برنامه نویسی کنید چون خیلی از توضیحات در این آموزش* داده شده است .پس دقت کنید و تمرین ها خط به خط خودتون بنویسید و انجام بدید تا به مشکل بخورید و در صدد حل مشکل باشید---------------------------***خیلی از دوستان گفتند چرا از این زبان شروع کردید به آموزش »>>این زبان همانطور که در پست دوم این تاپیک توضیح دادم یک زبانی هست که بر روی مرورگر اجرا میشود و نیاز به هیچ ابزار یا ... ندارد و مقداری قابل درک و فهم تر برای شروع میباشد>>در این زبان شما نیاز به پردازش خاصی نداید که باگ خاصی بدهد و سیستم دچاز ضعف امنیتی کند و بیشتر مواقع ارجعیت دارد>>این زبان پایه زبان های و یا کتابخانه هایی همچون Jquery و ... میباشد و بعد آموزش میتونید به راحتی با خوندن چند خط jquery هم یاد بگیرید (البته استاد شدن نه)*** سوال بعدی که دوستان پرسیدند آموزش ها از چه منبعی میباشد ؟!>> آموزش ها از تمامی منابع در سرتاسر نت جمع آوری گردیده منبع خاص و مشخصی ندارد که کپی شده باشد یا ... به راحتی میتونید ببینید>>ashiyane.org - w3school -developer1 - کتاب javascript نویسنده احمد بادپی و خودم و تجربیاتم>>پس به عبارت دیگر منبع ها متعدد میباشد-------------------------قسمت دوازدهم :حلقه ها رو آموختیم و اما ادامه دستورات break و continueBreak :شما زمانی میخواهید که شرط درون حلقه چک کنید تا مقدار معینی اما بعدش میخواهید به نقطه خاصی از برنامه که رسید آن متوقف شود و از حلقه خارج شودبرای این کار شما باید از دستور break استفاده کنید . هر جا که دستور break وجود داشته باشد حلقه چک میشود وچه درست و چه غلط از حلقه خارج میشودنکته: دستورات break , continue هر 2 در حلقه ها و... قابل استفاده هستندیک مثال میزنم : من میخواهم یک مقدار عدد از کاربر بگیرم و بعد شروع کند به شمارش تا به عدد 100 برسد و بعد متوقف کندfunction mahdi(){var x = txtinput.value ;for ( ; ;x++){document.write("Mahdi" +" "+ x + "</br>")if (x == 100) break;}}و ساختار html آن میشود :<input type="text" id="txtinput" /><input type="button" onclick="mahdi( )" value="click me" />به همین سادگی شروع به شماردن کرد و ایستادحتی اگر بخواهید هم میتونید از کاربر هر 2 مقدار بگیرید هم مقدار شروع و هم مقدار پایانfunction mahdi(){var x = txtinput.value ;var y = input.value ;for ( ; ;x++){document.write("Mahdi" +" "+ x + "</br>")if (x == y) break;}}انقدر میشمارد تا به عدد ما برسد و break هم پایان بهش میدهدcontinue :این دستور زمانی هست که شما میخواهید درون حلقه یک بار شرط چک شود و اگر درست نبود حلقه متوقف میشود و به ابتدای حلقه میرودمثال:var x;for ( x= 1 ; x <=25; x++ ){if ( x == 17) continue;document.write("mahdi" + x +"<br>");}-----------------------------حالا قسمت به قسمت بررسی میکنیم :1-یک متغیر تعریف کردیم :var x;2-حلقه که قبلا آموزش دادیم مینویسیم :for ( x= 1 ; x <=25; x++ )3-شرطی قرار میدهیم که اگر به عدد 17 رسید حلقه متوقف و باز شرط چک کند :if ( x == 17) continue;4-در این خط هم دستور چاب یا... میدهیمdocument.write("mahdi" + x +"<br>");-------موفق باشیدBlack_Sky 8 نقل قول لینک به ارسال
Black_Sky 6349 ارسال شده در اردیبهشت 94 مالک گزارش بازنشر ارسال شده در اردیبهشت 94 قسمت سیزدهم :خطا در جاوا اسکریپتزمانی که شما کدنویسی میکنید باید توامی جوانب و شرایط هم در نظر بگیرید بسته شدن ناگهانی ، داشتن خطا و موارد این چنینی که خب قبل باید برایش فکری میکردیدخطا ها به حالت های مختلفی میتوانند رخ دهندهمانند :: دادن مقدار نادرست از سمت کاربرزمانی هست شما یک برنامه مینویسید که درون اعمال ضرب و تقسیم انجام میشود و خب خیلی از مواقع ابهاماتی هم در ریاضیات وجود دارد مثل عدد تقسیم بر صفرحال اگر کاربر این عدد تقسیم بر 0 کند برنامه شما دچار اختلال شده و از کار می افتدیک برنامه نباید از کار بیوفتد و برنامه نویس باید به فکر باشد که اگر خطا ایجاد شد قبلا برای آن طرحی داده است مثلا نمایش پیغامی همانند : این عمل مجاز نیست البته شما میتوانید از دستورات شرطی هم استفاده کنید اما برنامه شما دارای یک سری محدودیت هم خواهد شد که بعدا توضیح خواهم داددر زبان انگلیسی برای تلاش مجدد از کلمه try استفاده میکنند و در اینجا هم در صورت خطا میخواهیم تلاش کنیم تا مشکل کاربر برطرف یا گزارش یا هر نحو دیگر انجام دهیم پس از توابع try و catch استفاده میکنیمTry & Catch :به صورت کلی ساختار دستورات به اینگونه است که شما دستوراتی که میخواهید انجام شود درون try قرار میدهید و دستوراتی که میخواهید بعد اتفاق افتادن خطا نمایش داده شود و یا انجام شود درون catch قرار میدهیمبه اینصورت اول try دستور انجام میدهد و در صورت غلط بودن و بروز خطا به catch میرودمثالی از ساختار اولیه و خام :try{You Code Is Not True}catch ( X ){Command 2}یک مثال : یک برنامه مینویسیم که mahdi را چاپ کندfunction test(){ document.wriet ( "Mahdi" ) ;}html<input type="button" value="click me !" onclick="test()" />خب در بالا میبینید که برنامه به درستی نوشته نشده است و شما نمیتوانید از دستور شرطی اینجا استفاده کنید که اگر برنامه به صورت املاء هم اشتباه بود کاری انجام دهد پس همین برنامه درون try قرار میدهیم:function test(){ try { document.wriet ( "Mahdi" ) ; }} catch ( error ) { alert ( "WOW / Error" ) ; }}ابندا چک کرد و خطا داد و برای جایگزینی خطا یک alert تعیین کردیمبه همین سادگی ()دستور throw :این دستور برای زمان هایی که پروژه های سنگین تر و نیار به خطایابی سخت تر و کامل تر میباشد استفاده میشودالبته از نظر مفهوم و درک کمی سخت به نظر میرسد اما چیز خاصی نداردتوسط دستور throw در جاوا اسکريپت می توان يک خطايابی کامل تر را انجام داد . با استفاده از اين دستور به همراه ساختار try ... catch ، می توان روند اجرای برنامه و بروز خطا را کاملا تحت کنترل داشت و يک پيغام خطا دقيق طراحی کرد .نکته : دستور throw به تنهايي کاربردی نداشته و بايد آنرا با ساختار دستوری try ... catch به کار برد .در مثال زير سعی شده است ، تا چگونگی استفاده از يک دستور throw را در قالب ساختار try ... catch توضيح داد .مثال : در مثال زير يک اسکريپت ساده برای دريافت ورودی از کاربر طراحی شده است . تابع Enter_Num که توسط دکمه فرمان Enter Number فراخوانی می شود ، در ابتدا يک کادر متن برای دريافت ورودی از کاربر ، نمايش می دهد . مقدار دريافتی از کاربر در متغير Num ذخيره می شود . سپس در يک ساختار try ... catch ، مقدار دريافتی از کاربر بررسی می شود .در حالت اول ، چنانچه کاربر مقداری را در کادر وارد نکرده و آنرا خالی ارسال کرده باشد ، برنامه خطای 1 را شناسايي و يک پيام هشدار مبنی بر وارد کردن عدد نمايش داده و سپس مجددا تابع Enter_Num را برای دريافت مقدار صحيح اجرا می کند . در حالت دوم اگر کاربر عددی بزرگتر از 100 را وارد کرده باشد ، برنامه خطای دوم را شناسايي کرده و يک پيغام هشدار مبنی بر بزرگ بودن عدد وارده را نمايش داده و مجددا تابع Enter_Num را اجرا می کند . به کد مثال و نحوه استفاده از دستور throw دقت کنيد :<script type="text/javascript" >function Enter_Num ( ){ var Num = prompt ( "Enter a number please : " , "" ) ; try { if ( !Num ) throw "Error1" else if ( Num > 100 ) throw "Error2" } catch ( er ) { if ( er == "Error1" ) { alert ( "Plese enter a number !" ) ; Enter_Num ( ) ; } if ( er == "Error2" ) { alert ( "Number too big . Enter a smaller number !" ) ; Enter_Num( ) ; } }}</script ><input type="button" id="BtnEnter" value="Enter Number " onclick="Enter_Num( )" /> 9 نقل قول لینک به ارسال
rasoolprs 0 ارسال شده در خرداد 96 گزارش بازنشر ارسال شده در خرداد 96 سلام مهندس واقعا عالی بود دست گلت درد نکنه مهندس من یک سوال دارم من میخام یک فایل جاوا اسکریپت خارجی بسازم و توی اون یک متغیر از نوع رشته ای تعریف کنم و از این فایل خارجی در دو تا از صفحه های سایت استفاده کنم به این صورت که در صفحه اول که index هستش یک کنترل textbox و یک دکمه قرار بدم و با کلیک بر روی دکمه مقدار درون textbox در درون متغیر ذخیره بشه و در صفحه دوم سایت یک کنترل label قرار بدم و مقدار درون متغیر رو در label نمایش بدم ممنون میشم راهنمایی بفرمایید نقل قول لینک به ارسال
Morteza 34190 ارسال شده در خرداد 96 گزارش بازنشر ارسال شده در خرداد 96 سلام به انجمن خوش اومدین دوست عزیز لطفا سوالاتون رو در این بخش مطرح کنید:برنامه نویسی استاتیک نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .