اين هم يه آموزش كامل براي اونايي كه دوست دارن Ajax ياد بگيرن ولي
كسي نيست كه بگه . من توصيه مي كنم اين رو حتما داشته باشين.
موفق باشيد.
http://forum.unicomp.ir/download/file.php?id=86

http://forum.unicomp.ir/download/file.php?id=86

http://forum.unicomp.ir/download/file.php?id=59
http://forum.unicomp.ir/download/file.php?id=58
ابتدا Search ويندوز خودتونو باز كنيد و سپس بر روي All Files And Folders كليك نماييد . بعد از پنجره اي كه باز مي شود در سمت چپ درايوي كه مي خواين داخلش جستجو كنيد رو انتخاب كنيد . بر روي Search كليك كنيد . در پنجره جديد در قسمت A Word Or Phrase In The File كلمه مورد نظر خودتونو وارد كنيد .

توجه : اين مورد از جستجو براي جستجو در محتواي فايل هاي Txt و Doc و ... خيلي مفيد مي باشد .
با كليك بر روي Search ميتوانيد نتايج جستجوي خودتونو در همان پنجره مشاهده كنيد .
حتما ما را با نظرات خود به كمال برسانيد .
1- غلط املايي :
در نوشتن window، دقت كنيد.
ويندو، به صورت مفرد است. با نام سيستم عامل ويندوز، اشتباه نگيريد.
يا document و Mouse، جاي حروف o و u را اشتباه نكنيد.
يا كلماتي كه از لحاظ املايي، نزديك هم هستند؛
مانند white (سفيد) with (با) While (حلقه).
2- كلمات رزرو شده و كليدي :
خيلي از كلمات برنامهنويسي، كلمات رزرو شده هستند
يعني كلماتي كه از قبل در آن زبان، مورد استفاده قرار گرفته و داراي معناي خاصي هستند.
از اين كلمات نميشود به عنوان نام چيز ديگري، مانند تابع، استفاده كرد.
3- كلمات كليدي :
در نوشتن اين كلمات، خيلي دقت كنيد
مخصوصا در بزرگ و كوچك بودن حروف.
همه متد و دستورها، در جاوا اسكريپت، با حرف كوچك، نوشته و شروع ميشود
الا موارد خاصي مانند Array. البته شايد يك كلمه تركيبي باشد؛
چون هميشه اينگونه نوشته ميشود new Array.
4- دستورات تركيبي :
يعني دستوراتي كه از دو يا سه كلمه، تشكيل شدهاند.
مانند setTimeout, onMouseover كه از سه كلمه، تركيب شدهاند.
اولين كلمه اين دستورات، با حرف كوچك شروع شده، و دومين كلمه، با حرف بزرگ.
5- نام گذاري :
اسم بيمسمّي شنيدهايد؟ اسمي كه با شخص يا شيي ناميده شده، ربطی ندارد
مثل اينكه به يك سگ سياه، بگوييم سفيد برفي.
اسمي كه براي اشيا يا دستورات خود، انتخاب ميكنيد، بايد جنس و كار آن را نشان دهد.
مثلا ميخواهم تابعي بنويسم كه مطالب يك فرم را ارسال كند.
نام دكمه ارسال را btnSubmit گذاشته، و نام تابع را funSubmit ميگذارم.
btn = مخفف button (دكمه)
fun = مخفف function (تابع)
استفاده از مخفف نوع اشيا، در راهنمايي شما يا
كساني كه از برنامهيتان بازديد ميكنند، بسيار كمك ميكند.
6- مرتب نويسي :
كدها بايد طوري نوشته شود كه خوانا و واضح باشد.
شايد در برنامههاي كوتاه، ضرورتي براي اين كار ديده نشود
اما در كدهاي عريض و طويل و پيچيده كه از دهها تابع ساخته شدهاند، اين امر، ضروري است.
به ترتيب و چينش اين كدها دقت كنيد:
function funForm()
{
if (Form1.Name.value == '');
{
alert ('پيام');
Form1.Name.focus();
returnfalse;
}
}
رعايت سر شاخه و زير مجموعه، در اين برنامه، نمايان است.
يك مجموعه داريم كه تابع ما است. داخل آن تابع، يك شرط نوشته شده، و داخل آن شرط، چند دستور.
با فاصله دادن آنها از كناره سمت چپ صفحه،
آنها را از هم مجزا ميكنيم. به قرار گرفتن كُرشهها، دقت كنيد.
7- پايان دستور :
در پايان هر دستور، از نقطه ويرگول (;) استفاده كنيد.

برنامه نويسي :
زبان برنامه نويسي، وسيلهاي است براي ساختن برنامه و نرمافزار مورد نياز ما.
به طور كلي ميتوانيم برنامههاي خود را به دو گروه، تقسيم كنيم:
1- برنامههايي كه در محيط رايانه، استفاده ميشوند.
2- برنامههايي كه در محيط وب و اينترنت قابل استفاده هستند.
زبان كاربري :
بعضي از زبانهاي برنامه نويسي تحت وب، در طرف كاربر و كلاينت (Client) اجراء ميشود.
JavaScript, JScript, VBScript.
زبان سِـروري :
زبانهاي برنامه نويسي تحت وبي كه در طرف سرور (Sserver) اجراء ميشود.
asp, php.
جاوا اسكريپت :
با جاوا اسكريپت، ميتوانيم برنامهاي بنويسيم كه هم در رايانه و هم در محيط اينترنت، قابل اجراء باشد.
البته زادگاه اصلي آن، اينترنت است.
جاوا اسكريپت، از آن دسته از زبانهاست كه در طرف كاربر، عمل ميكند.
Object (شي) :
هر چيزي كه در صفحه ما وجود دارد، يك شي حساب ميشود و ميتوان از آن استفاده كرد و تغييرش داد.
اولين شي موجود، خود صفحه و سند (document) است، كه قبلا با آن آشنا شدهايد.
Properties (خصوصيات) :
هر شي، يك مشخصات و خصوصياتي دارد كه بيانگر كمّيت و كيفيت آنست.
مثلا يك سند، داراي اين خصوصيات است:
پس زمينه، عنوان (Title)، نوار وضعيت (Status)، نوار پيمايش (Scroll)، متن (Text)، لينك (Link).
Methods (متُد) :
کاري که اشياء ميتوانند انجام دهند، متد ناميده ميشود.
مانند باز كردن يا بستن پنجره. شالوده و اصل يك زبان برنامه نويسي، متدهاي آن برنامه است
، كه ما بايد آنها را به خوبي ياد گرفته و در جاي مناسب استفاده نماييم.
متدها، توسط سازندگان زبان برنامه نويسي، نوشته و تهيه ميشود و ممكن است
در نسخههاي جديد آن زبان، تغيير داده شده، اضافه و تكميل شود.
Event (رويداد) :
رويداد، عملياتي است كه كاربر، در يك صفحه انجام ميدهد.
بعضي از رويدادها مشترك و عمومي هستند و بعضي مخصوص يك شي.
بعضي از اين رويدادها را براي شما دسته بندي كردهام كه حتما ذخيره نموده و به مرور آنرا كامل كنيد.
شرط:
يكي از ابزار و دستورات مهم هر زبانِ برنامه نويسي، شرط است.
ادات شرط :
1. if
2. switch ... case
معروفترين ادات شرط، if است.
ساختمان شرط :
• جمله شرطي، از سه قسمت اصلي، تشكيل شده است.
1- ادات شرط: كلمهاي كه شرط را ميرساند؛ مانند اگر.
2- شرط: جملهاي كه شرطِ انجام كاري، واقع شده.
3- مشروط يا جزا: جملهاي كه جزاي شرط و در جواب آن آمده؛
يعني در صورت تحقق شرط، آن نيز به وقوع ميپيوندد.
Operators (عملگرها) :
در برنامه نويسي، از علامت و نشانههايي استفاده ميشود
كه به آن عمگر گفته ميشود. يكي از انواع عمگرها، عمگر شرطي ميباشد.
عمليات برنامه نويسي :
• يك عمليات برنامه نويسي، داراي سه بخش، است.
1. دريافت داده. در اين قسمت، اسكريپت، اطلاعاتي را كه نياز دارد، ميگيرد.
2. پردازش داده. در اين قسمت، اطلاعاتي كه تهيه كرده، تجزيه و تحليل ميكند.
3. نمايش داده. در اين قسمت، اطلاعات پردازش شده را، ارائه ميكند.
ثابت و متغير :
بعضي از اطلاعاتي كه يك برنامه، به دست ميآورد، ثابت (Constant) است، و بعضي، متغير (Variable).
متغير به اين معني كه يك چيز ثابت، مشخص و از پيش تعريف شده نيست.
آنچه كه برنامه نويس، بيشتر با او سر و كار دارد، متغير است.
انواع متغير :
1- رشتهاي (String):حروف و كلمه
2- عددي (Number):اعداد و ارقام (اعداد صحيح و اعشاري)
3- منطقي (Boolean):بله و خير
متغير سراسري، عمومي (Global گلوبال)
اگر متغير را خارج از تابع بنويسيد، عمومي است؛ چون ميشود در سرتاسر برنامه، آنرا صدا زده و مورد استفاده قرار داد.
متغير محلي، خصوصي (Localلوكال)
اگر متغيري را داخل تابع تعريف كنيد، خصوصي است؛
يعني فقط در همان محل و همان تابع، كابرد دارد،
و بيرون از آن، نه ميشود صدا زد و نه ميشود استفاده كرد.
زمان :
زمان، داراي اجزا مختلف است
يعني انسان، آنرا به بخشهاي مختلف تقسيم كرده تا قابل استفاده باشد.
قسمتي از آن،تاريخ (سال، ماه، هفته و روز) نام دارد،
و قسمتي از آن، به اجزا كوچكتر (ساعت، دقيقه و ثانيه) تقسيم شده،
وساعت، ناميده ميشود. البته معيار تاريخ در برنامه نويسي، ميلادي است.
براي تبديل به شمسي يا قمري، بايد از برنامه نويسي استفاده كنيد.
تابع :
تابع يا همان فانِكشين (Function)، مجموعهاي از يك يا چند كد است
كه در يك جا جمع شده و داراي نام شدهاند.
آرگومان: گاهي، داخل پرانتزي كه بعد از نام تابع قرار ميگيرد،
چيزي نوشته ميشود به نام آرگومان كه يك نوع متغير است.
آرايه :
آرايه، مجموعهاي از چند داده (ثابت و متغير) است كه به عنوان يك واحد شناخته شده و اعضاي آن، با كد، مشخص شدهاند.
به عبارت ديگر، تعدادي از اطلاعات كه در كنار هم قرار گرفتهاند
و يك وجه مشترك داشته و به يك نام خوانده ميشوند.
حلقه :
يكي ديگر از ويژگيهاي مفيد جاوا اسكريپت و همچنين ساير زبانهاي برنامه نويسي،
توانايي ايجاد حلقههاي تكرار، يا اجراي گروهي از دستورالعملها به صورت تكراري است.
اين، يكي از كارهايي است كه رايانهها قادرند تا به خوبي آنها را انجام دهند، و آن چيزي نيست
جز انجام كارهاي تكراري با دقت بالا.
در برنامههاي اسكريپت، از حلقههاي تكرار به عنوان يك ابزار قوي و مهم، استفادههاي فراواني ميشود.
ادات حلقه :
• از روشهاي مختلفي براي ايجاد حلقه، استفاده ميشود.
1. for
2. While
3. do ... while
معروفترين ابزار حلقه، for است.
ساختمان حلقه :
1. ابتداي حلقه:a = 0. اين عدد، شروع و ابتداي حلقه را معيّن ميكند.
2. انتهاي حلقه: a < 10. اين عدد، حداكثر و انتهاي حلقه - به عبارت ديگر، 3. افزايش يا كاهش: اين پارامتر، مشخص ميكند تعداد تكرار دستورات - را مشخص ميكند.
كه حلقه، در هر بار اجرا، يك واحد زياد شود يا كم.
4. جواب حلقه: حلقه، بي شباهت به شرط نيست. به عبارت ديگر: اگر متغير ما (a)، از 0 تا 10 تداوم داشت، نمايش پيام، ادامه داشته باشد.
فرم :
فرم وسيلهاي است براي دريافت اطلاعات از كاربر.
method = نوع ارسال اطلاعات را معين ميكند، كه دو نوع است: post, get.
اين دو روش با تفاوتهايي، عمليات ارسال را انجام ميدهند. روش پُست، عموميتر است و از لحاظ امنيتي، برتري دارد.
اگر متد را ننويسيد، از پُست، استفاده ميشود.
action = محلي را نشان ميدهد كه اطلاعات، براي پردازش،
به آنجا ارسال خواهد شد؛ يعني آدرس يك صفحه است، كه در اينجا
براي مثال، test.htm را انتخاب كردهام.
name = نام فرم.
onSubmit = يك رويداد است. تابعي را كه در جاوا اسكريپت، نوشتهايد را صدا ميكند.
Get - Post = تفاوت بين اين دو، در چگونگي ارسال اطلاعات از فرم، به اسكريپت پردازشگر است.
اشارهگر :
اشارهگر (Cursor) همان شكلي است كه با حركت موس،
در مانيتور، حركت ميكند و نمادي از انگشت و دست شماست براي اشاره به اشياء داخل صفحه.
برنامه نويسي :
زبان برنامه نويسي، وسيلهاي است براي ساختن برنامه و نرمافزار مورد نياز ما.
به طور كلي ميتوانيم برنامههاي خود را به دو گروه، تقسيم كنيم:
1- برنامههايي كه در محيط رايانه، استفاده ميشوند.
2- برنامههايي كه در محيط وب و اينترنت قابل استفاده هستند.
زبان كاربري :
بعضي از زبانهاي برنامه نويسي تحت وب، در طرف كاربر و كلاينت (Client) اجراء ميشود.
JavaScript, JScript, VBScript.
زبان سِـروري :
زبانهاي برنامه نويسي تحت وبي كه در طرف سرور (Sserver) اجراء ميشود.
asp, php.
جاوا اسكريپت :
با جاوا اسكريپت، ميتوانيم برنامهاي بنويسيم كه هم در رايانه و هم در محيط اينترنت، قابل اجراء باشد.
البته زادگاه اصلي آن، اينترنت است.
جاوا اسكريپت، از آن دسته از زبانهاست كه در طرف كاربر، عمل ميكند.
Object (شي) :
هر چيزي كه در صفحه ما وجود دارد، يك شي حساب ميشود و ميتوان از آن استفاده كرد و تغييرش داد.
اولين شي موجود، خود صفحه و سند (document) است، كه قبلا با آن آشنا شدهايد.
Properties (خصوصيات) :
هر شي، يك مشخصات و خصوصياتي دارد كه بيانگر كمّيت و كيفيت آنست.
مثلا يك سند، داراي اين خصوصيات است:
پس زمينه، عنوان (Title)، نوار وضعيت (Status)، نوار پيمايش (Scroll)، متن (Text)، لينك (Link).
Methods (متُد) :
کاري که اشياء ميتوانند انجام دهند، متد ناميده ميشود.
مانند باز كردن يا بستن پنجره. شالوده و اصل يك زبان برنامه نويسي، متدهاي آن برنامه است
، كه ما بايد آنها را به خوبي ياد گرفته و در جاي مناسب استفاده نماييم.
متدها، توسط سازندگان زبان برنامه نويسي، نوشته و تهيه ميشود و ممكن است
در نسخههاي جديد آن زبان، تغيير داده شده، اضافه و تكميل شود.
Event (رويداد) :
رويداد، عملياتي است كه كاربر، در يك صفحه انجام ميدهد.
بعضي از رويدادها مشترك و عمومي هستند و بعضي مخصوص يك شي.
بعضي از اين رويدادها را براي شما دسته بندي كردهام كه حتما ذخيره نموده و به مرور آنرا كامل كنيد.
شرط:
يكي از ابزار و دستورات مهم هر زبانِ برنامه نويسي، شرط است.
ادات شرط :
1. if
2. switch ... case
معروفترين ادات شرط، if است.
ساختمان شرط :
• جمله شرطي، از سه قسمت اصلي، تشكيل شده است.
1- ادات شرط: كلمهاي كه شرط را ميرساند؛ مانند اگر.
2- شرط: جملهاي كه شرطِ انجام كاري، واقع شده.
3- مشروط يا جزا: جملهاي كه جزاي شرط و در جواب آن آمده؛
يعني در صورت تحقق شرط، آن نيز به وقوع ميپيوندد.
Operators (عملگرها) :
در برنامه نويسي، از علامت و نشانههايي استفاده ميشود
كه به آن عمگر گفته ميشود. يكي از انواع عمگرها، عمگر شرطي ميباشد.
عمليات برنامه نويسي :
• يك عمليات برنامه نويسي، داراي سه بخش، است.
1. دريافت داده. در اين قسمت، اسكريپت، اطلاعاتي را كه نياز دارد، ميگيرد.
2. پردازش داده. در اين قسمت، اطلاعاتي كه تهيه كرده، تجزيه و تحليل ميكند.
3. نمايش داده. در اين قسمت، اطلاعات پردازش شده را، ارائه ميكند.
ثابت و متغير :
بعضي از اطلاعاتي كه يك برنامه، به دست ميآورد، ثابت (Constant) است، و بعضي، متغير (Variable).
متغير به اين معني كه يك چيز ثابت، مشخص و از پيش تعريف شده نيست.
آنچه كه برنامه نويس، بيشتر با او سر و كار دارد، متغير است.
انواع متغير :
1- رشتهاي (String):حروف و كلمه
2- عددي (Number):اعداد و ارقام (اعداد صحيح و اعشاري)
3- منطقي (Boolean):بله و خير
متغير سراسري، عمومي (Global گلوبال)
اگر متغير را خارج از تابع بنويسيد، عمومي است؛ چون ميشود در سرتاسر برنامه، آنرا صدا زده و مورد استفاده قرار داد.
متغير محلي، خصوصي (Localلوكال)
اگر متغيري را داخل تابع تعريف كنيد، خصوصي است؛
يعني فقط در همان محل و همان تابع، كابرد دارد،
و بيرون از آن، نه ميشود صدا زد و نه ميشود استفاده كرد.
زمان :
زمان، داراي اجزا مختلف است
يعني انسان، آنرا به بخشهاي مختلف تقسيم كرده تا قابل استفاده باشد.
قسمتي از آن،تاريخ (سال، ماه، هفته و روز) نام دارد،
و قسمتي از آن، به اجزا كوچكتر (ساعت، دقيقه و ثانيه) تقسيم شده،
وساعت، ناميده ميشود. البته معيار تاريخ در برنامه نويسي، ميلادي است.
براي تبديل به شمسي يا قمري، بايد از برنامه نويسي استفاده كنيد.
تابع :
تابع يا همان فانِكشين (Function)، مجموعهاي از يك يا چند كد است
كه در يك جا جمع شده و داراي نام شدهاند.
آرگومان: گاهي، داخل پرانتزي كه بعد از نام تابع قرار ميگيرد،
چيزي نوشته ميشود به نام آرگومان كه يك نوع متغير است.
آرايه :
آرايه، مجموعهاي از چند داده (ثابت و متغير) است كه به عنوان يك واحد شناخته شده و اعضاي آن، با كد، مشخص شدهاند.
به عبارت ديگر، تعدادي از اطلاعات كه در كنار هم قرار گرفتهاند
و يك وجه مشترك داشته و به يك نام خوانده ميشوند.
حلقه :
يكي ديگر از ويژگيهاي مفيد جاوا اسكريپت و همچنين ساير زبانهاي برنامه نويسي،
توانايي ايجاد حلقههاي تكرار، يا اجراي گروهي از دستورالعملها به صورت تكراري است.
اين، يكي از كارهايي است كه رايانهها قادرند تا به خوبي آنها را انجام دهند، و آن چيزي نيست
جز انجام كارهاي تكراري با دقت بالا.
در برنامههاي اسكريپت، از حلقههاي تكرار به عنوان يك ابزار قوي و مهم، استفادههاي فراواني ميشود.
ادات حلقه :
• از روشهاي مختلفي براي ايجاد حلقه، استفاده ميشود.
1. for
2. While
3. do ... while
معروفترين ابزار حلقه، for است.
ساختمان حلقه :
1. ابتداي حلقه:a = 0. اين عدد، شروع و ابتداي حلقه را معيّن ميكند.
2. انتهاي حلقه: a < 10. اين عدد، حداكثر و انتهاي حلقه - به عبارت ديگر، 3. افزايش يا كاهش: اين پارامتر، مشخص ميكند تعداد تكرار دستورات - را مشخص ميكند.
كه حلقه، در هر بار اجرا، يك واحد زياد شود يا كم.
4. جواب حلقه: حلقه، بي شباهت به شرط نيست. به عبارت ديگر: اگر متغير ما (a)، از 0 تا 10 تداوم داشت، نمايش پيام، ادامه داشته باشد.
فرم :
فرم وسيلهاي است براي دريافت اطلاعات از كاربر.
method = نوع ارسال اطلاعات را معين ميكند، كه دو نوع است: post, get.
اين دو روش با تفاوتهايي، عمليات ارسال را انجام ميدهند. روش پُست، عموميتر است و از لحاظ امنيتي، برتري دارد.
اگر متد را ننويسيد، از پُست، استفاده ميشود.
action = محلي را نشان ميدهد كه اطلاعات، براي پردازش،
به آنجا ارسال خواهد شد؛ يعني آدرس يك صفحه است، كه در اينجا
براي مثال، test.htm را انتخاب كردهام.
name = نام فرم.
onSubmit = يك رويداد است. تابعي را كه در جاوا اسكريپت، نوشتهايد را صدا ميكند.
Get - Post = تفاوت بين اين دو، در چگونگي ارسال اطلاعات از فرم، به اسكريپت پردازشگر است.
اشارهگر :
اشارهگر (Cursor) همان شكلي است كه با حركت موس،
در مانيتور، حركت ميكند و نمادي از انگشت و دست شماست براي اشاره به اشياء داخل صفحه.
كـُد (Code): دستور و فرماني كه به زبان برنامه نويسي، نوشته شده.
تَـگ (Tag): كوچكترين جزء يك كد. مثلا تگ سر = ؛ تگ بدنه = ؛ تگ اسكريپت = پارامتر (Parameter): مقداري كه براي تگ، نوشته ميشود. مثلا براي تگ خط، معيّن ميكنيم كه از چه نوعي، به چه اندازهاي و چه رنگي باشد.
مثال: كلمه Color، در تگ Font، پارامتري است كه رنگ متن را مشخص ميكند.
پارامتر را شايد بتوان اين گونه تعريف كرد كه "قيد حالت است براي تگ". تگ اسكريپت، هم داراي پارامترهايي است.
document = سند، صفحه جاري، پنجرهاي كه در آن كار ميكنيد
document.bgColor = رنگ پس زمينه سند
new Date: متدِ زمان به صورت كلي و مطلق است. بعد از آن بايد نوع زمان خود را مشخص كنيد
يعني چه قسمتي از زمان را ميخواهيد بدانيد؛ سال، ماه، هفته، روز و ... . به تنهايي چيزي را نشان نميدهد.
toLocaleString: متدي براي به دست آوردن زمان كامل (تاريخ و ساعت) است كه به عنوان خصوصيت، براي زمان كلي استفاده ميشود.
document.write: متدي كه براي نوشتن متن در صفحه استفاده ميشود.
document.writeln: مانند دستور قبلي عمل ميكند؛ با اين تفاوت كه يك فاصله تا رشته قبلي، ايجاد ميكند.
; : به اين علامت، سِمي كالـِن گفته ميشود كه در پايان هر دستور، ميآيد؛ هر چند در جاوا، اجباري نيست.
// : به اين علامت، كامنت (Comment) گفته ميشود كه براي نوشتن توضيح، در ميان كدهاي برنامه نويسي است.
هر عبارتي كه بعد از اين علامت بيايد، توسط برنامه، خوانده و اجرا نميشود و صرفا ً توضيحي است كه برنامه نويس، يادداشت كرده.
ID: آيدي، همان نام (Name) شي است؛ البته گاهي در عمل تفاوتهايي با هم دارند.
innerText: با اين دستور، متن يك تگ در قسمت بدنه نمايش داده ميشود؛ و ميتوانيم آنرا تغيير داده و ويرايش كنيم.
outerHTML - innerHTML - outerText: اين 3 متد، شبيه دستور قبلي است؛ البته با كمي تفاوت.
setTimeout: دستور تايمر و زمان شمار است. بعد از آن، يك جفت پرانتز، قرار دارد كه داخلش، دو پارامتر نوشته ميشود:
1. اسم چيزي است كه قرار است اجرا شود؛ مانند يك تابع.
2. زماني كه تايمر در آن فعال خواهد شد. واحد زمان، ميلي ثانيه است. (1000 = يك ثانيه)
setInterval: دستور تايمر و زمان شمار است. مانند دستور قبل، عمل ميكند.
Table = جدول.
Row = سطر، ستون افقي.
Cell = سلول، خانههاي جدول.
window = شي صفحه است، كه داراي متدهاي مختلفي است.
window.scroll = متد اسكرول صفحه. داخل پرانتز، دو پارامتر دارد كه دو عدد هستند كه موقعيت صفحه را نشان ميدهند.
اولي، موقعيت فعلي صفحه؛ دومي، موقعيتي كه بايد به آنجا برسد.
window.scrollTo - window.scrollBy = دو متد ديگر از parent هستند. با تمرين، به دست آورديد كه چه كاري انجام ميدهند.
parent = معادل window است و در مورد اسكرول، ميتواند به جاي آن قرار گيرد. • يك عمليات برنامه نويسي، داراي سه بخش، است. راه دريافت داده : به نظر شما، يك اسكريپت، از چه راهي اطلاعات خود را به دست ميآورد؟ از 3 روش. انواع داده (ثابت و متغير) : بعضي از اطلاعاتي كه يك برنامه، به دست ميآورد، ثابت (Constant) است، و بعضي، متغير (Variable). متغير به اين معني كه يك چيز ثابت، مشخص و از پيش تعريف شده نيست. آنچه كه برنامه نويس، بيشتر با او سر و كار دارد، متغير است. كلمهاي كه برنامه نويس نوشته، مشخص و ثابت است، و كلمهاي كه كاربر، ممكن است وارد كند، نامشخص و متغير. زمان و تاريخي كه از رايانه دريافت ميشود، چطور؟ ثابت است يا متغير؟ اميدوارم مطلب، براي شما واضح شده باشد. معرفي متغير و ثابت : بعد از اين مقدمه، بايد ياد بگيريد كه چگونه ميشود يك متغير، به زبان برنامه نويسي نوشت. تا اينجاي درس، ميان تمام زبانهاي برنامه نويسي مشترك بوده؛ ولي نوشتن و مشخص كردن ثابت و متغير، در زبانها، مختلف است. مثلا در زبان ويژوال بيسيك و VB Script با Dim، يك متغير را معرفي ميكنند و با Const، يك ثابت را. در حالي كه در زبان دلفي، PHP و جاوا اسكريپت با Var، متغير معرفي ميشود. متغير در جاوا اسكريپت : 1. نام گذاري متغير و به جاي آنكه مرتبا اسم بلند و طويل، و گاهي مشكل آن متد را بنويسيم، نامي كه خودمان برايش انتخاب كرديم را صدا ميكنيم. - يك متغير را در جاوا، بعد از كلمه كليدي var و به اين صورت مينويسند: var name. 2. مقدار دهي متغير و سپس داده يا متد مورد نظر را يادداشت ميكنيم. به اين صورت: var name = new Date (); مثال: قرار است برنامهاي بنويسيم كه زمان را به ما نمايش دهد. وسايل مورد نياز: با استفاده از اين وسايل و از روشي كه گفته شد - دريافت داده - پيش ميرويم.
• دستور و متدهاي زمان. متدهاي زمان Thursday, November 23, 2006 10:19:08 PM Thursday, November 23, 2006 10:19:08 PM Thu, 23 Nov 2006 18:49:08 UTC 2006 10 4 23 22 19 8 جدول شماره 4 زمان، داراي اجزا مختلف است؛ يعني انسان، آنرا به بخشهاي مختلف تقسيم كرده تا قابل استفاده باشد.
قسمتي از آن، تاريخ (سال، ماه، هفته و روز) نام دارد، و قسمتي از آن، به اجزا كوچكتر (ساعت، دقيقه و ثانيه) تقسيم شده، و ساعت، ناميده ميشود.
البته معيار تاريخ در برنامه نويسي، ميلادي است.
براي تبديل به شمسي يا قمري، بايد از برنامه نويسي استفاده كنيد. در مثال قبل، ميتوانيد به جاي getHours، از متدهاي ديگر استفاده كنيد. پيشنهاد ميكنم هر كدام از آنها را به صورت جداگانه در document.write، قرار داده و نتيجهاش را ببينيد.
" " " " " " " " " " " واژه نامه new Date: متدِ زمان به صورت كلي و مطلق است. بعد از آن بايد نوع زمان خود را مشخص كنيد؛ يعني چه قسمتي از زمان را ميخواهيد بدانيد؛ سال، ماه، هفته، روز و ... . به تنهايي چيزي را نشان نميدهد. هر عبارتي كه بعد از اين علامت بيايد، توسط برنامه، خوانده و اجرا نميشود و صرفا ً توضيحي است كه برنامه نويس، يادداشت كرده. موس و صفحه كليد، به عنوان گيرندههاي رايانه هستند كه به وسيله آنها مطالب را وارد ميكنيم. مثلا براي نوشتن اين متن، از صفحه كليد استفاده كردهام. حرف ت را فشردم، تا در اين صفحه، نوشته شد. البته ميان فشردن كليد و نوشته شدن در صفحه - كه بلافاصله انجام ميشود - عملياتي انجام ميگردد كه از ديد ما پنهان است. هر كليد، يك كد عددي دارد كه با فشرده شدن، از صفحه كليد به بخش مربوطه در رايانه، فرستاده ميشود. آنجا بعد از پردازش، تبديل به حرف معادل آن كد شده، و در متن، نمايش داده ميشود. استخراج كُد كليد (Key Code) : • صفحه كليد استخراج كُد كليد (Key Code)، كار راحتي است. در زبان جاوا اسكريپت، براي به دست آوردن آن، از اين دستور استفاده ميشود: window.event.keyCode مثال : برنامه زیر كد هر كليد را در يك جعبه متن، نشان دهد. //***صفحه كليد در قسمت بدنه، جعبه متني قرار دهيد كه محل نمايش كد باشد. <input name="inCode" type="text" value=""size="5" readonly> كد هر كليدي را كه فشار دهيد، اينجا نوشته ميشود: • موس موس نيز مانند صفحه كليد عمل ميكند؛ منتها داراي كليدهاي كمتري است. از اين كد : window.event.button ميتوانيد براي استخراج كد كليد موس، استفاده كنيد. مثال : برنامه زیر كد کلیک موس را در يك جعبه متن، نشان دهد. //***كليك موس در قسمت بدنه، جعبه متني قرار دهيد كه محل نمايش كد باشد. <input name="inButton"type="text" value=""size="5" readonly> كُد كليك موس : • اشارهگر اشارهگر (Cursor) همان شكلي است كه با حركت موس، در مانيتور، حركت ميكند و نمادي از انگشت و دست شماست براي اشاره به اشياء داخل صفحه. تاريخ تولد اشارهگر و و موس، به ابتداييترين سيستم عامل ويندوز برميگردد. قبل از آن، سيستم عامل داس بود و آن محيط سياه و مَخوف. نه اثري از رنگ بود، نه صوت و نه موس. اشارهگر، داراي شكلهاي مختلفي است، و در حالات گوناگون، تغيير شكل ميدهد. مثلا گاهي به شكل ساعت شني، و گاهي به صورت يك فلش دو سر يا چهار سر، يا علامت سوال، تبديل ميشود. اين تغيير شكلها، همه به دست تواناي شماي برنامهنويس، ميسّر ميشود و بس. خوشبختانه در وب نيز ميشود شكل دلخواه و مورد نياز به اشارهگر داد؛ كافي است كه كد هر شكل را بنويسيد. كـُد : قبل از نوشتن كد، توضيحي بايد عرض كنم، و آن اين است كه تغيير شكل اشارهگر، به صورت مستقيم به جاوا اسكريپت مربوط نميشود بلكه مربوط به مبحث استايل (Style) است؛ اما ميشود در جاوا از آن به دلخواه استفاده نمود. استايل : استايل(Style)، تگي است مانند اسكريپيت (Script) كه درون تگ (Head) نوشته ميشود. همانند جاوا، دو قسمت دارد: 1- نوشتن كد 2- فراخواني كد. 1- نوشتن كد. كد را داخل تگ استايل و درون head ، مينويسيم. #Hand = نام كد، كه به دلخواه شماست. { } = كد، داخل اين علامت، نوشته ميشود. Cursor: hand = كد شكل اشارهگر، كه در اينجا به صورت دست است. 2- فراخواني كد. شي مورد نظر را، كه قرار است اشارهگر، به محض رفتن بر روي آن، تغيير شكل دهد، داخل بدنه مينويسيم. آن شي، ممكن است يك عكس باشد يا يك متن يا چيز ديگر. در اين مثال، متني را در نظر گرفتهام كه درون تگ (Span) نوشتهام. ID = آيدي، همان نامي است كه در بالا نوشتيم؛ مانند (Hand). اسم هر كد، نمايانگر حالت و نوع آن است. اشارهگر دستساز : اينها، شكلهاي پيش فرض و موجود در ويندوز است. و ميشود شكل اشارهگر را آنگونه كه خودمان ميخواهيم، تغيير دهيم . يعني به شكلي كه خودمان طراحي كرديم. كافي است يك اشارهگر - كه با پسوند cur. است - انتخاب كرده و آدرس آنرا بنويسيد. به اين صورت: #Test {Cursor: url (test.cur); } • تعقيب اشارهگر : • براي اين عمليات، ابتدا موقعيت اشارهگر را به دست ميآوريم. با اين دو دستور (event.clientY - event.clientX) ميشود موقعيت اشارهگر را گرفت. • حالا بايد چيزي را كه ميخواهيد به دنبال اشارهگر، حركت كند مشخص نماييد. اين شي ميتواند از لحاظ ظاهر، متن يا عكس يا هر چيز ديگر، و از لحاظ محتوا، ثابت يا متغير باشد. • كد HTML:
• كد JavaScript: function cursorPos() // تابع
حركت دادن اشياء : • مراحل عمليات: - ساختن شي مورد نظر • شيئي كه براي اين كار در نظر گرفتهام، يك جدول است كه شبيه كادرهاي محاورهاي در ويندوز ميباشد. • كد HTML: <table id="moveMe" style="position: relative;" border="0" width="200" bgcolor="#FBF9FB"> • كد JavaScript: mouseover = true • شرح كد: با به دست آوردن اين كد، ميفهميم كه موس، در حالت كليك باقي مانده؛ يعني همان كشيدن به وسيله موس.
به جدول خود، فيلتر آلفا، يا همان كمرنگ شدن در حالت جابجايي ميدهيم. • حركت پنجره : براي حركت پنجره، دو دستور وجود دارد. 1- window.moveBy (x, y) با اين دستور، ميتوان پنجره را يكباره به منطقهاي كه با عدد مشخص (x, y) ميشود، منتقل كرد. 2- window.moveTo (x, y) اين دستور مانند دستور قبل عمل ميكند؛ با اين تفاوت كه اگر آنرا در يك حلقه قرار دهيم، به آهستگي پنجره را حركت ميدهد. كد: كافي است اين كد را داخل يك اسكريپت قرار داده و صفحه را باز كنيد. for(a =1; a <= 250; a++) {window.moveTo (250, a)}; • تغيير اندازه پنجره : براي تغيير اندازه پنجره، دو دستور وجود دارد. 1- window.resizeTo (x, y) با اين دستور ميتوان اندازه پنجره را تغيير داد و اگر آنرا در يك حلقه قرار دهيم، به آهستگي اندازه پنجره را تغيير ميدهد. كد: for(a =1; a <= 500; a++) {window.resizeTo (100, a)}; 2- window.resizeBy (x, y) اين دستور هم براي تغيير اندازه است؛ اما به دقت و قدرت دستور قبلي نيست.
document.write("Hello, "+ document.cookie.split("=")[1]) رشته حرفي "Hello" به همراه مقدار موجود در Cookie در صورت نمايش, ظاهر ميگردد. if(document.cookie == "") { مقدار تمامي Cookieهاي موجود توسط document.cookie.split("; ")sگرفته شده و در متغييري بنام thisCookie قرار داده ميشود. به ياد داشته باشيد که توسط دستورsplit("; ")sآرايه اي از تمام Cookieها بوجود آمده تا درنهايت بتوان به مقدار هر Cookie ارجاعي داده شود. for (i=0; i در صورتيکه i کمتر از تعداد Cookieها در آرايه thisCookie باشد به مقدار i, يک واحد مي افزايد. و بعد نام Cookie و به دنبال آن, عبارت and the value is به همراه مقدار Cookie نوشته ميگردد.
و مقدار مربوطه را تخصيص داده که بايستي هميشه در ايجاد Cookie در نظر داشت. سپس تاريخ انقضاي Cookie توسط expiration Date تعيين ميشود که در فرمان تعيين شده فوق, browser بطور اتوماتيک, Cookie را پاک ميکند. سپس اجازه وجود يک URL داده شده و در نهايت آدرس domain در Cookie تنظيم ميگردد. توجه داشته باشيد که ميتوان از چند Cookie درون يک صفحه استفاده نمود بدين منظور بعد از مشخصات هر قسمت, از علامت " ; " استفاده ميگردد. expireDate = new Date expireDate.setMonth(expireDate.getMonth()+6) userName = "" userName = document.cookie.split("=")[1] سپس توسط متد ("=")split, هر record مربوط به Cookie به فيلدهاي مختلف تقسيم ميشود بطوريکه مثلCookieField[0]sنام وCookieField[1]sمقدار Cookie ميباشد. سپس در خط بعد مقدار UserName توسط اطلاعات وارد شده کاربر درون فيلد فرم, مجددا نوشته ميشود. در نتيجه توسط document.cookie, نام کاربر و تاريخ انقضاء نوشته شده زيرا توسط متد toGMTString, تاريخ expireDate به رشته حرفي تبديل شده, که نتيجتا ميتوان آن را درون Cookie قرار داد. کاربرد : اعتبار دادن به دریافت ها از کاربر مثلا اینکه کاربر تا ایمیل خود را صحیح وارد نکند توانایی ارسال آن را نداشته باشد و یا آدرس و یا پسوند اعتبار داده شده از طرف شما را وارد نکند توانایی ارسال آن را نداشته باشد. تعریف : RegExp هميشه با يک علامت / شروع و پايان مي يابد و هر آنچه که درون اين دو علامت باشند, را معادله قاعده اي مي نامند. RegExp ها با دو حرف اول re شروع می شوند و یک مقدار برای آنها در نظر گرفته می شود که با جدول زیر تعیین می گردد. \ تمرین : مثلا ما بانوشتن خط زیر می توانیم آدرس ایمیل ها را معتبر کنیم 1 . معادله را باید در مکان آن نوشت / اینجا / = re 2 . علامت ^ براي آزمايش از ابتداي رشته حرفي بوده زيرا ممکن است کاربر , کلمات و يا علامات نامفهومي را نوشته باشد. 3 . علامت + بدين معني ميباشد که يک يا چند جزء قبلي در حال بررسي ميباشند. در اين حالت که يک آدرس email , بايستي با يک يا چند ترکيب از کارکترهاي a تا z ,.A تا Z,.0 تا 9 و خط تيره شروع شود. 4 . علامت [] براي استفاده از يک يا چند کارکتر مورد نظر , استفاده ميشود. در اين تمرین , کارکترهاي -.\ داخل براکت ( [] ) ميباشد. 5 . علامت ? یعنی ميتوان يک يا هيچکدام از کارکترهاي قبلي را مورد استفاده قرار داد. 6 . بعد از علامت ( , انتهاي گروه باز شده را مشخص ميکند. 7 . علامت * بدين مفهوم است که ميتوان از موارد ذکر شده در گروه قبل ( داخل پرانتز) هم استفاده کرد و يا آنها را اصلا بکار نبرد 8 . علامت @ مابين آدرس email و نام domain مربوطه قرار ميگيرد. 9. استفاده مجدد از +W\, بدليل آنست که نام domain بايستي با يکي از کارکترهاي a تا z , . A تا Z, . 0 تا 9 ويا خط فاصله شروع گردد. 10. دوباره عبارت ( + w \ ? [ - . \ ] ) استفاده شده که وجود " . " يا " - " را در قسمت پسوند email مجاز ميشمارد. 11. گروه داخل پرانتز {2,3}w\.\ پس از آن قرار گرفته شده که از وجود يک نقطه به همراه چند کارکتر خبر مي دهد. 12.{2,3} نيز مقدار 2 يا 3 کارتر قبلي مي باشد. 13 . علامت + , وجود تعداد دفعات جزء تعداد دفعات جزء قبلي را بيان ميکند. مثلا پسوند نهايي ميتوان بصورت "Com" , ".edu" , "Ox.ac.uk" باشد. 14 . نهايتا با قرار دادن علامت $ رشته حرفي پايان يافته و از قرار دادن موارد نامناسب ديگر توسط کاربر جلوگيري کند . if(re.test(myForm.emailAddr.value)) { که در صورت قرار گرفتن نمونه اي نادرست , پيغام اشتباه همراه با اخطار نمايان شده و در غير آن که يک متغيير معتبر است (آدرس email درست نوشته شده باشد) پيغامي نميگردد. که اسکریپت جاوا برای آن :
و کد فرم آن در اچ تی ام ال ( در صفحه ) :
حلقه for ... in • اين حلقه، فقط براي يك منظور استفاده ميشود؛ به دست آوردن خصوصيات اشياء. سوال مهم اين است: چگونه خصوصيات و رويداد يك شي را به دست آوريم؟ اين پرسش، ممكن است براي هر كسي، پيش آمده باشد. از خود جاوا بپرسيم. بله، بهترين و سادهترين راه، اين است كه از خود جاوا اسكريپت، سوال كنيم كه خواص فلان شي _ مثلا window - چيست. به وسيله همين حلقه، از جاوا درخواست ميكنيم كه هرچه درباره يك شي، وجود دارد، به ما بگويد. ساختمان حلقه : for (varx inobject) مشاهده ميكنيد كه ساختمان اين حلقه، با حلقهfor كه قبلا ديدهايم، تفاوت دارد. x = خصوصيات شي. يك متغير است كه بيانگر تمام خصوصيات شي است. مثال : خصوصيات شي سند (window) را می توانید به کمک حلقه زیر به دست آورید. كد:
شي: هر كدام كه مقابلشobject نوشته شده، يك شي ديگري است كه زير مجموعه window ميباشد؛ مانند top. رويداد: هر كدام كه با on شروع شده، رويداد (event) است؛ مانند onload. مقابل رويدادهايي كه از آنها در پنجره، استفاده نكردهايم، null نوشته ميشود؛ در غير اين صورت، نوع عمليات را مينويسد. خصوصيت: هر چيزي به غير از اينها،خصوصيات window است،
كه معمولا چيزي مقابلش نوشته شده است
مانند screenTop، كه موقعيت پنجره را از بالا، نشان ميدهد.
اگر پنجره را تغيير مكان دهيد و رفرش كنيد، مقدار آن تغيير ميكند. تعريف حلقه : • « يكي ديگر از ويژگيهاي مفيد جاوا اسكريپت و همچنين ساير زبانهاي برنامه نويسي، توانايي ايجاد حلقههاي تكرار، يا اجراي گروهي از دستورالعملها به صورت تكراري است. اين، يكي از كارهايي است كه رايانهها قادرند تا به خوبي آنها را انجام دهند، و آن چيزي نيست جز انجام كارهاي تكراري با دقت بالا. در برنامههاي اسكريپت، از حلقههاي تكرار به عنوان يك ابزار قوي و مهم، استفادههاي فراواني ميشود. ادات حلقه : • از روشهاي مختلفي براي ايجاد حلقه، استفاده ميشود. 1. for معروفترين ابزار حلقه، for است. ساختمان حلقه for : • ساختمان حلقه، شبيه يك زنجير است كه از تعدادي حلقه، ساخته شده است. for (Counter; Condition Expression; step) حلقه for، از چهار جزء، تشكيل شده است. همانطور كه ميبينيد، داراي سه پارامتر است كه داخل پرانتز ( ) قرار گرفتهاند و با سمي كالن (;) از هم جدا ميشوند ، و يك جواب، كه حاوي كد مورد نظر ما بوده، و داخل يك كروشه { } قرار ميگيرد. 1. ابتداي حلقه:a = 0. اين عدد، شروع و ابتداي حلقه را معيّن ميكند. 2. انتهاي حلقه: a < 10. اين عدد، حداكثر و انتهاي حلقه - به عبارت ديگر، تعداد تكرار دستورات - را مشخص ميكند. 4. جواب حلقه: حلقه، بي شباهت به شرط نيست. به عبارت ديگر: اگر متغير ما (a)، از 0 تا 10 تداوم داشت، نمايش پيام، ادامه داشته باشد. نكته: اگر حلقه، تنها شامل يك جواب باشد ، نيازي نيست كه آن را درون علامت كروشه { } قرار دهيم. مثال : دستورالعمل زير، پيامي را 10 مرتبه ، جهت توجه بيشتر كاربر، نمايش ميدهد: for (a = 0; a < 10; a++) ساختمان حلقه while : حلقه while از لحاظ اجزاء تشيكل دهنده، فرقي با حلقه for نداري؛ اما از لحاظ تركيب و محل قرار گرفتن آنها، متفاوت است. var a = 0; پارامتر افزايش هم بعد از كد، نوشته شده. به محل قرار گيري اين پارامتر دقت كنيد ، چون اگر قبل از دستور، نوشته شود، معناي ديگري ميدهد و كمي در نتيجه كار، تغيير ايجاد ميكند. ساختمان حلقه do ... while : var a = 0; توجه داريد كه براي درك راحت اين مفاهيم، فقط اسكلت و شكل ساده آنها را نوشتهام. اهميت حلقه : اگر به شباهت حلقه و شرط دقت كنيد، متوجه اهميت آن نيز خواهيد شد. حداقل فايده حلقه، اختصار در كدنويسي است. مثلا به جاي اينكه ده مرتبه يك عبارت را بنويسيد، اينكار را با دستور ساده حلقه، به راحتي ميتوانيد انجام دهيد. مثال عملی1 : ساخت جدول ضرب، با حلقه ابتدا لازم است بدانيد كه چگونه يك جدول (Table) در اچ تيامال ساخته ميشود. ساختمان جدول با کد های اچ تی ام ال : جدول، تشكيل شده از ستون افقي و ستون عمودي. تگ اصلي جدول به اين صورت است:
مابين اين دو، تگ ستون افقي
همانطور كه ميبينيد، تگ جدول، چند پارامتر دارد كه مشخصات آن را (اندازه، حاشيه، رنگ و ...) مشخص ميكند. كد:
مثال عملی2: اسكرول صفحه (حركت صفحه از بالا به پايين) شرح عمليات: ساخت اين برنامه، بسيار ساده و راحت است. . مواد لازم براي آن، يك حلقه، و يك متد اسكرول صفحه است، كه در يك تابع قرار ميدهيم. . يك تابع (funDown) براي پايين رفتن، و يك تابع (funUp) براي بالا آمدن. اين توابع، به صورت مستقل، اجرا ميشوند. . در قسمت بدنه، دو دكمه (يا چيزي شبيه آن) قرار ميدهيم. يكي براي فعال كردن تابع اول، و ديگري براي تابع دوم. به هنگام كليك بر روي دكمهها، توابع، اجرا ميشوند؛ يعني بايد از رويداد onClick استفاده كنيم. تعريف آرايه :
آرايه، مجموعهاي از چند داده (ثابت و متغير) است كه به عنوان يك واحد شناخته شده و اعضاي آن، با كد، مشخص شدهاند. به عبارت ديگر، تعدادي از اطلاعات كه در كنار هم قرار گرفتهاند و يك وجه مشترك داشته و به يك نام خوانده ميشوند. نوشتن آرايه : • نامگذاري آرايه آرايه يك نوع متغير است كه بر خلاف متغيرهاي ديگر در جاوا، بايد از قبل تعريف شود. varName = new Array(3); var: نشانه متغير • معرفي اعضاء آرايه بعد از معرفي و نامگذاري آرايه، بايد اعضايش را معرفي كنيم؛ كه دو روش براي اين كار وجود دارد. - روش اول: Name[0] = "تهران"; Name: نام آرايه كه مشترك است - روش دوم: varName = new Array("تهران","اصفهان","شيراز") در اين روش، كد اعضا، به صورت فرضي، از صفر شروع ميشود. • خواندن آرايه بعد از نوشتن آرايه، نوبت به خواندن و صدا كردن آن است. در اين مثال ميتوانيم از دو دستور alert يا document.write استفاده كنيم. alert (Name[0])
نام گذاري كدها ( تابع ) كمتر پيش ميآيد كه كدي را بنويسيد و از تابع، استفاده نكنيد. • تابع يا همان فانِكشين (Function)، مجموعهاي از يك يا چند كد است كه در يك جا جمع شده و داراي نام شدهاند. نام گذاري كد : براي هر چيزي ميشود نامي انتخاب كرد، و به جاي آنكه مدام، كد آنرا تكرار كنيم، نام آنرا صدا ميزنيم. برای نامگذاري آنها از تابع استفاده ميكنيم. مثال :
اگر بخواهيم براي آن، نامي انتخاب كنيم، ابتدا كد مورد نظر را داخل يك جفت كرشه { } قرار داده، تا از كدهاي ديگر جدا شود. بعد، كلمه function را در اول آن نوشته و بعد، نامي كه انتخاب كردهايد را با يك جفت پرانتز ()، بنويسيد. به اين صورت:
نامي كه من انتخاب كردم funAlert است. fun مخفف function، و Alert نوع كد مرا مشخص ميكند. آيا ميدانيد كدي كه الان درست كردهايم با كد قبلي كه بينام بود، چه فرقي دارد؟ در عمل يك فرق كوچك، و آنكه اين است كه قبلا به محض باز شدن صفحه، اجرا شده و پيام نمايش داده مي شد. ولي حالا، تا نام آنرا صدا نزنيم، عمل نميكند. فراخوانی تابع : • حالا بايد بدانيد چگونه و كجا تابع خود را صدا كنيد. يكي از راههاي صدا زدن توابع، استفاده از رويدادهاست. اگر ميخواهيد فلان كد، به هنگام باز شدن صفحه، اجرا شود، از رويدادonLoad استفاده كنيد. اگر ميخواهيد با كليك كردن بر روي چيزي، برنامهاي اجرا شود، از onClick استفاده كنيد. مثال: ميخواهم تابع funAlert، كه در مثال بالا درست كردهام، به هنگام باز شدن صفحه اجرا شود. براي اين كار بايد به تگ بدنه (Body = بادي) رفته و اين كد را بنويسم: onLoad="funAlert()"> اگر خواستيد با كليك بر روي عكسي، پيامي نمايش داده شود، بايد كد زير را در تگ عكس قرار دهيد. به اين صورت: خلاصه: براي ساخت و به كارگيري يك تابع، سه كار بايد كرد. 1- نوشتن كد: كدهايي را كه لازم داريم مينويسيم. 2- نامگذاري: كدهاي نوشته شده را در يك جا، جمع كرده و نامگذاري ميكنيم. 3- صداكردن ( فراخوانی ): در جاي مناسب، تابع را صدا ميكنيم. نکات: • ميشود يك تابع را توسط تابع ديگر، صدا زد. اين در زماني است كه دو تابع، در امتداد يكديگر فعاليت ميكنند. • گاهي، داخل پرانتزي كه بعد از نام تابع قرار ميگيرد، چيزي نوشته ميشود به نامآرگومان كه يك نوع متغير است. انواع متغير: متغير محلي و سراسري اگر بخواهيم از نظر جنس، به متغير نگاه كنيم، سه نوع مهم دارد : رشتهاي، عددي، منطقي. اما از لحاظ موقعيت و مكان استفاده، يك تقسيم بندي جديد براي متغير است. 1- متغير سراسري، عمومي ( Global گلوبال) اگر متغير را خارج از تابع بنويسيد، عمومي است؛ چون ميشود در سرتاسر برنامه، آنرا صدا زده و مورد استفاده قرار داد. 2- متغير محلي، خصوصي ( Local لوكال) اگر متغيري را داخل تابع تعريف كنيد، خصوصي است . يعني فقط در همان محل و همان تابع، كابرد دارد، و بيرون از آن، نه ميشود صدا زد و نه ميشود استفاده كرد. خصوصيات متغير محلي و سراسري : - از متغير سراسري ميشود در توابع مختلف استفاده كرد؛ اما متغير محلي، فقط در همان تابع، كابرد دارد. - محدوده متغير محلي، محدوده تابع آن است، و عمر آن، به اندازه عمر تابعش. - ميدانيد كه نميشود براي دو متغير، يك نام گذاشت؛ اما متغير محلي ميتواند با متغير سراسري، همنام باشد. - اگر اين دو متغير، همنام شدند، تغيير مقدار يكي از آن دو، تاثيري در ديگري ندارد.
انواع متغیر « Date، از اشياء از پيش تعريف شده در جاوا است كه امكان كار با تاريخ و ساعت را در اختيار برنامه نويس، قرار ميدهد. هنگام نياز به ذخيره يك تاريخ و ساعت بخصوص، ميتوانيد از Date استفاده كنيد. به كمك متدهاي اين شي، ميتوانيد با تاريخ و ساعت ذخيره شده، كار كنيد. شي Date، هيچ خصوصيتي ندارد؛ از اين رو، جهت نمايش ي دستيابي به مقادير ذخيره شده در آن، لازم است تا از متدهاي آن استفاده كنيد. دادهها، مواد خام و اصلي برنامه نويس است كه آنها را از راههاي مختلفي به دست ميآورد. اين اطلاعات، از انواع مختلفي هستند. بعضي حروف و كلمه، و بعضي اعداد و ارقام. 1- رشتهاي (String): حروف و كلمه خصوصيات دادهها : هر كدام از اين انواع، خصوصيات دارند. مثلا در اعداد، ميتوان از علائم رياضي استفاده كرد؛ كه به آن، عمگرهاي رياضي گفته ميشود. جدول شماره 5 خصوصيات رشته : • براي رشتهها يا همان حروف، دستورات و خصوصياتي وجود دارد. مثلا ميخواهيم بدانيم طول يك رشته چقدر است؛ يعني چه تعداد حرف، در آن به كار رفته؛ يا فلان حرف يا كلمه، در كجاي اين رشته قرار دارد. يعني چندمين حرف اين رشته است. خصوصيات رشته جدول شماره 6
تذكر: • دو دستور indexOf و lastIndexOf، شماره حرف مورد نظر ر مينويسند.
عملیات برنامه نویسی با زبان جاوا اسکریپت
عملیات برنامه نویسی با زبان جاوا اسکریپت
1. دريافت داده. در اين قسمت، اسكريپت، اطلاعاتي را كه نياز دارد، ميگيرد.
2. پردازش داده. در اين قسمت، اطلاعاتي كه تهيه كرده، تجزيه و تحليل ميكند.
3. نمايش داده. در اين قسمت، اطلاعات پردازش شده را، ارائه ميكند.
1. برنامه نويس. معمولا شما به عنوان برنامه نويس، اطلاعاتي را به او ميدهيد. مثلا يك كلمه عبور و پسورد را ذخيره ميكنيد، كه اگر كلمهاي كه كاربر وارد كرده با آن، يكي بود، اجازه ورود به او ميدهد؛ وگرنه با يك پيام خطا، مانع ورود او ميشود.
2. كاربر. بعضي از اوقات، كاربر، اطلاعاتي را به برنامه شما ميدهد؛ مانند مثال قبلي، كه كلمهاي را به عنوان كلمه عبور، وارد كرده.
3. سيستم. در بسياري از مواقع، اين سيستم و رايانه شماست كه منبع اطلاعاتي برنامه است. مثلا براي نمايش زمان و تاريخ، با يك متد ساده، تاريخ مورد نظر را از رايانه، به دست آورده و نمايش ميدهيد.
به مثال قبلي دقت كنيد. به نظر شما كدام قسمت از دادهها، ثابت و مشخص است، و كدام، متغير و تعريف نشده؟
ميتوانيم براي هرچيزي نامي انتخاب كنيم - مثلا براي اطلاعات، يا متدهاي جاوا
- به جاي name، هر اسمي كه دوست داريد بنويسيد. البته بهتر است اسم انتخابي شما، مناسب با نوع متغير باشد.
- هر كجا كه var نوشته شده، مشخص است كه متغيري را ميخواهند تعريف كنند.
- مقدار دهي يعني مشخص كنيم كه اين متغير، برابر با چه داده و اطلاعاتي است.
- اين كار را با علامت = انجام ميدهيم. اول، نام متغير را نوشته، و بعد از آن مساوي،
كد اسكريپت
متد زمان
new Date (), toLocaleString()
متد نوشتن
document.write ( )
var D = new Date (); // اولين متغير - متد زمان
var L = D.getHours (); // دومين متغير - متد ساعت - دريافت زمان از سيستم
document.write (L); // متغير خود را درون پرانتز مينويسيم - نمايش داده
new Date ()
زمان
Thu Nov 23 22:19:08 UTC+0330 2006
toLocaleString ()
زمان كامل
toLocaleDateString ()
فقط تاريخ
toLocaleTimeString ()
فقط ساعت
toGMTString()
زمان بين المللي
getYear()
سال
getMonth()
ماه
getDay()
روز هفته
getDate()
روز ماه
getHours()
ساعت
getMinutes()
دقيقه
getSeconds()
ثانيه
var Time = new Date (); // اولين متغير، متد زمان كلي
document.write (D + "
document.write (D.toLocaleString() + "
document.write (D.toLocaleDateString() + "
document.write (D.toLocaleTimeString() + "
document.write (D.toGMTString() + "
document.write (D.getYear() + "
document.write (D.getMonth() + "
document.write (D.getDay() + "
document.write (D.getDate() + "
document.write (D.getHours() + "
document.write (D.getMinutes() + "
document.write (D.getSeconds());
toLocaleString: متدي براي به دست آوردن زمان كامل (تاريخ و ساعت) است كه به عنوان خصوصيت، براي زمان كلي استفاده ميشود.
document.write: متدي كه براي نوشتن متن در صفحه استفاده ميشود.
document.writeln: مانند دستور قبلي عمل ميكند؛ با اين تفاوت كه يك فاصله تا رشته قبلي، ايجاد ميكند.
; : به اين علامت، سِمي كالـِن گفته ميشود كه در پايان هر دستور، ميآيد؛ هر چند در جاوا، اجباري نيست.
// : به اين علامت، كامنت (Comment) گفته ميشود كه براي نوشتن توضيح، در ميان كدهاي برنامه نويسي است.
ارتباط موس و صفحه کلید با جاوا اسکریپت
function funKeyCode(){
varkey = window.event.keyCode;
inCode.value = key;
}
document.onkeypress=funKeyCode;// تنظيم رويداد
function funClick()
{
if (document.all)
{
if (window.event.button)
{
inButton.value = window.event.button;
return false;
}
}
}
document.onmousedown=funClick;// تنظيم رويداد
#Auto {Cursor: auto}
#Crosshair {Cursor: crosshair}
#Default {Cursor: default}
#Pointer {Cursor: pointer}
#Hand {Cursor: hand}
#Move {Cursor: move}
#e-resize {Cursor: e-resize}
#ne-resize {Cursor: ne-resize}
#nw-resize {Cursor: nw-resize}
#n-resize {Cursor: n-resize}
#se-resize {Cursor: se-resize}
#sw-resize {Cursor: sw-resize}
#s-resize {Cursor: s-resize}
#w-resize {Cursor: }
#text {Cursor: text}
#wait {Cursor: wait}
#help {Cursor: help}
ID="Auto">Auto
ID="Crosshair">Crosshair
ID="Default">Default
ID="Pointer">Pointer
ID="Hand">Hand
ID="Move">Move
ID="e-resize">e-resize
ID="ne-resize">ne-resize
ID="nw-resize">nw-resize
ID="n-resize">n-resize
ID="se-resize">se-resize
ID="sw-resize">sw-resize
ID="s-resize">s-resize
ID="w-resize">w-resize
ID="text">text
ID="wait">wait
ID="help">help
حرکت ، بخش موس و اشیاء
حرکت ، بخش موس و اشیاء
موقعيت موس از بالا - clientY:
موقعيت موس از چپ - clientX:
- سه متن بنويسيد؛ يك متن براي حركت عمودي، و يك متن براي حركت افقي، و يكي هم براي حركت كامل.
- هر كدام را داخل يك لايه قرار دهيد.
- لايهها را به اين ترتيب نامگذاري نماييد: (div1 - divY - divX)
- استيل آنها را به اين صورت تعريف كنيد: (style=position: absolute). اين كد، به شي مورد نظر اجازه حركت ميدهد.
{
// حركت عمودي و افقي
div1.style.top = event.clientY;
div1.style.left = event.clientX;
// حركت عمودي
divY.style.top = event.clientY;
// حركت افقي
divX.style.left = event.clientX;
}
document.onmousemove=cursorPos;
- به دست آوردن موقعيت اشارهگر
- به دست آوردن موقعيت شي مورد نظر
- تعريف كردن رويداد كليك و كشيدن
- اين جدول، داراي دو سلول است. سلول اول، براي عنوان كادر و محل كشيدن و جابجايي، و سلول پايين، محل نوشته محتوي است.
- داخل سلول اول، يك لايه (div) قرار دادهام به نام (moveMe1). جدول را هم (moveMe)، نامگذاري نمودهام.
- استيل جدول را به اين صورت تعريف كنيد: (style=position: relative). اين كد، به شي مورد نظر اجازه حركت ميدهد.
<div id="moveMe1"> div>
table>
function coordinates()
{
if (!moveMe)
{
return
}
if (event.srcElement.id == "moveMe1")
{
mouseover = true
// موقعيت جدول
pleft = moveMe.style.pixelLeft
ptop = moveMe.style.pixelTop
// موقعيت اشارهگر
xcoor = event.clientX
ycoor = event.clientY
document.onmousemove = funmove
}
}
function funmove()
{
if (mouseover && event.button == 1) // اگر كليك چپ شد
{
moveMe.style.pixelLeft = pleft + event.clientX-xcoor
moveMe.style.pixelTop = ptop + event.clientY-ycoor
moveMe1.style.cursor = "move"; // تغيير شكل اشارهگر
moveMe.style.filter = "alpha(opacity=50)"; // استفاده از فيلتر آلفا
return false
}
}
function mouseup()
{
moveMe1.style.cursor = ""; // شكل عادي اشارهگر
moveMe.style.filter = "alpha(opacity=100)"; // از كار انداختن فيلتر آلفا
mouseover = false
}
document.onmousedown=coordinates
document.onmouseup=mouseup
- moveMe1.style.cursor = move = در جلسه 17، خوانديم كه شكل اشارهگر، قابل تغيير است. در اينجا، شكل "حركت" را انتخاب ميكنيم.
- event.button == 1 = در جلسه 17، ديده شد كه كد كليك چپ، 1 است.
- moveMe.style.filter = "alpha(opacity=50)" = به وسيله اين كد، كه از زبان HTML است،
حرکت ، بخش پنجره ها
for(b = 1; b<= 500; b++) {window.resizeTo (b, 500)};
خواندن کوکی ها
خواندن کوکی ها
براي خواندنCookie
if(document.cookie !="") {
1.
درصورت خالي نبودن محتويات Cookie به مرحله بعد ميرود.
2.
در صورتي که Cookie خالي نباشد,
نکته :
نمایش کوکی
نمایش کوکی
به منظور نمايش Cookieها
document.write("There are no cookies here")1.
در صورتيکه محتوي Cookieها خالي باشد, پيغام "There are no cookies here" نشان داده ميشود.
else {
thisCookie = document.cookie.split("; ")2.
ولي در صورتيکه محتواي آن خالي نباشد,
3.
در حلقه فوق, که شمارنده آن از صفر شروع ميشود,
document.write("Cookie name is"+thisCookie[i].split("=")[0])
document.write(",and the value is"+thisCookie[i].split("=")[1]+"
")4.
و درصورت وجود Cookie در پنجره browser ابتدا عبارت "Cookie name is"
ایجاد کوکی با جاوا اسکریپت
ایجاد کوکی با جاوا اسکریپت
Cookie يکسري رشته حرفي با فرمت مشخص ميباشد. يعني:
CookieName = CookieValue; expires = expirationDateGMT ; path = URLpath ; Domain = siteDomain
توضيح خطوط فوق از اين قرار است که اولين قسمت رشته حرفي به Cookie اسم
براي ايجاد Cookie
1.
ابتدا تاريخ فعلي گرفته شده و در متغيير expireDate نهاده ميشود.
2.
بدين صورت مقدار تاريخ اعتبار Cookie مورد نظر, 6 ماه تعيين ميگردد.
3.
سپس متغيير userName با مقدار خالي تعريف ميگردد.
4.
ابتدا خالي نبودن محتوي Cookie بررسي ميشود.
function setCookie() {
userName = document.myForm.nameField.value5.
در اين مرحله يک تابع جديد با نامsetCookie()s ايجاد شده,
document.cookie = "username=" + username + ";expires=" + expireDate.toGMTString()
6.
همانطور که در مطالب قبل ذکر شد, Cookie ها شامل رشته هاي حرفي ساده ميباشد,
onLoad="document.myForm.nameField.value=userName"
7.
دستور onLoad در تگ body, نام کاربر را در صورت وجود در فايل Cookie درون فيلد name مينويسد.
8.
نهايتا هنگام رهايي کاربر از فيلد متن, توسط کنترل کننده onBlur, تابع setCookie فرا خوانده ميشود.
معادلات قاعده ای
معادلات قاعده ای
به کارکتر بعد از خود, مفهومي حرفي و يا مفهومي خاص ميدهد
شروع رشته (String)
^
پايان رشته
$
صفر يا چند مرتبه
*
يک يا چند مرتبه
+
صفر يا يک مرتبه
?
هر کارکتر بجز خط جديد
.
محدوديت لغتي
\b
عدم محدوديت لغتي
\B
ارقام بين 0 تا 9
\d
محدوديت استفاده از ارقام
\D
فرم
\F
خط جديد
\A
بازگشت
\r
هر يک از کارکترهاي White space
\s
هيچ يک از کارکترهاي White space
\S
Tab
\t
Tab عمودي
\v
هر حرف , يا Underline
\w
هر کارکتر غير از حرف , عدد يا Underline
\W
کارکترهاي ASCII که با اعداد هگزادسيمال nn مشخص ميشوند
\xnn
کارکترهاي ASCII با اعداد اکتال nn مشخص ميشوند
\onn
کارکتر کنترل X
\cX
مجموعه کارکترهاي که با هر يک از کارکترهاي داخل براکت مطابقت داشته باشد
[abcde]
مجموعه کارکترهاي که با هر يک از کارکترهاي داخل براکت مطابقت نداشته باشد
[^abcde]
مجموعه کارکترهاي که با هر يک از کارکترهاي داخل براکت مطابقت دارد
[a-e]
کارکترهاي حرفي b\
[\b]
دقيقا n اتفاق از کارکتر قبلي
{n}
حداقل اتفاق از کارکتر قبلي
{n , }
بين n و m اتفاق از کارکتر قبلي
{n , m}
گروه سازي براي استفاده در آينده
()
يا x يا y
X |Y
re =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
بررسی معادله :
با استفاده از دستور test().اعتبار myForm.emailAddr.value بررسي ميشود
حلقه ها در زبان جاوا اسکریپت ( ادامه از بخش اول )
حلقه ها در زبان جاوا اسکریپت ( ادامه از بخش اول )
{
document.write ("
}
in = كلمهاي كليدي؛ به اين معني كه هرچه خصوصيات (x) در اين شي است.
Object = به جاي اين كلمه، نام شي را بنويسيد؛ مثلا window, document.
object [x] = شيئي كه نوشتهايم، تبديل به آرايه ميشود؛ يعني يك متغير كه داراي چندين مقدار است.
document.write (""
);
for (var x in window)
{
document.write ("
}
حلقه ها در جاوا اسکریپت
حلقه ها در جاوا اسکریپت
2. While
3. do ... while
{Code}
3. افزايش يا كاهش: اين پارامتر، مشخص ميكند كه حلقه، در هر بار اجرا، يك واحد زياد شود يا كم.
{
document.write ("پيام" + a); // جواب حلقه
}
while (a < 10)
{
document.write ("پيام",a ,"
");
a++;
}
همانطور كه ميبينيد، متغير، قبل از while، تعريف شده، و داخل پرانتز، يك پارامتر قرار گرفته.
do
{
document.write ("پيام",a );
a++;
}
while (a < 10);
.
و عمودي قرار ميگيرد.
آرایه در جاوا اسکریپت
آرایه در جاوا اسکریپت
Name: نامي كه شما براي آرايه، انتخاب ميكنيد. مناسب است در اينجا City را به عنوان نام، برگزينيد
new Array: كلمه كليدي كه بايد به همين صورت، بنويسيد
(3): طول آرايه، تعداد اعضاي آرايه
Name[1] = "اصفهان";
Name[2] = "شيراز";
[0]: كد مخصوص به هر عضو
توابع در جاوا اسکریپت
توابع در جاوا اسکریپت
alert ("سلام")
onClick="funAlert()">
• ميشود در يك صفحه، چند تابع جداگانه بسازيم.
متغیر ها در جاوا اسکریپت
متغیر ها در جاوا اسکریپت
2- عددي (Number): اعداد و ارقام (اعداد صحيح و اعشاري)
3- منطقي (Boolean): بله و خير
عملگرهاي رياضي
+
جمع
1 + 1
-
تفريق
2 - 1
*
ضرب
2 * 2
/
تقسيم
4 / 2
%
خارج قسمت
++
يك عدد، اضافه ميكند
1 ++
--
يك عدد، كم ميكند
10 --
string.length
طول (تعداد) حروف
string.toLowerCase()
تبديل حروف بزرگ به كوچك
string.toUpperCase()
تبديل حروف كوچك به بزرگ
string.bold()
ضخيم (بُلد) كردن حروف
string.italics()
كج (ايتاليك) كردن حروف
string.fontsize(3)
تغيير اندازه
string.fontcolor("red")
تغيير رنگ
string.big()
بزرگ كردن
string.substring(2,6)
انتخاب حروف از حرف 2 تا 6 حرف بعد از اول
string.substr(2,6)
انتخاب حروف از حرف 2 تا 6 حرف بعد از 2
string.charAt(4)
انتخاب يك حرف (حرف چهارم)
string.replace("a","b")
تعويض دو حرف (حرف b باa)
string.indexOf("c",1)
جستجوي حرف مورد نظر، بعد از عدد معيّن
string.lastIndexOf("c",1)
جستجوي حرف مورد نظر، قبل از عدد معيّن
• شمارش آنها از صفر است؛ يعني شماره حرف اول، صفر است، نه يك.
• در صورتي كه كلمه مورد نظر را پيدا نكنند، 1- مينويسند.
پیوند ها