مفاهيم و واژهنامه
سلام
اين جلسه، مجموعهاي از مفاهيم و واژههايي است كه در جلسات مختلف، بيان شده است. سعي شده كه مرتب و بدون دخل و تصرف نوشته شود؛ الا بعضي موارد كه نياز بوده. اين جلسه را هديه ميكنم به دوستان علاقمند، صادق و استوار وبلاگ جاوا اسكريپت.
« مفـاهيـم »
برنامه نويسي
زبان برنامه نويسي، وسيلهاي است براي ساختن برنامه و نرمافزار مورد نياز ما.
به طور كلي ميتوانيم برنامههاي خود را به دو گروه، تقسيم كنيم:
1- برنامههايي كه در محيط رايانه، استفاده ميشوند.
2- برنامههايي كه در محيط وب و اينترنت قابل استفاده هستند.
زبان كاربري
بعضي از زبانهاي برنامه نويسي تحت وب، در طرف كاربر و كلاينت (Client) - يعني شما كه از اينترنت استفاده ميكنيد - اجراء ميشود. مانند JavaScript, JScript, VBScript.
زبان سِـروري
زبانهاي برنامه نويسي تحت وبي كه در طرف سرور (Server) - يعني سايتي كه شما از آن استفاده ميكنيد - اجراء ميشود. مانند asp, php.
جاوا اسكريپت
با جاوا اسكريپت، ميتوانيم برنامهاي بنويسيم كه هم در رايانه و هم در محيط اينترنت، قابل اجراء باشد. البته زادگاه اصلي آن، اينترنت است. جاوا اسكريپت، از آن دسته از زبانهاست كه در طرف كاربر، عمل ميكند.
Object (شي)
هر چيزي كه در صفحه ما وجود دارد، يك شي حساب ميشود و ميتوان از آن استفاده كرد و تغييرش داد. اولين شي موجود، خود صفحه و سند (document) است، كه قبلا با آن آشنا شدهايد.
Properties (خصوصيات)
هر شي، يك مشخصات و خصوصياتي دارد كه بيانگر كمّيت و كيفيت آنست. مثلا يك سند، داراي اين خصوصيات است: پس زمينه، عنوان (Title)، نوار وضعيت (Status)، نوار پيمايش (Scroll)، متن (Text)، لينك (Link).
Methods (متُد)
کاري که اشياء ميتوانند انجام دهند، متد ناميده ميشود؛ مانند باز كردن يا بستن پنجره. شالوده و اصل يك زبان برنامه نويسي، متدهاي آن برنامه است، كه ما بايد آنها را به خوبي ياد گرفته و در جاي مناسب استفاده نماييم. متدها، توسط سازندگان زبان برنامه نويسي، نوشته و تهيه ميشود و ممكن است در نسخههاي جديد آن زبان، تغيير داده شده، اضافه و تكميل شود.
Event (رويداد)
رويداد، عملياتي است كه كاربر، در يك صفحه انجام ميدهد. بعضي از رويدادها مشترك و عمومي هستند و بعضي مخصوص يك شي. بعضي از اين رويدادها را براي شما دسته بندي كردهام كه حتما ذخيره نموده و به مرور آنرا كامل كنيد.
شرط
يكي از ابزار و دستورات مهم هر زبانِ برنامه نويسي، شرط است. آيا ميدانيد شرط چيست؟ براي درك مفهوم آن، احتياجي نيست به خود زحمت بدهيد؛ چون اين دستور، در زندگي من و شما به وفور يافت ميشود. اگر خورشيد درآيد، هوا روشن ميشود. اگر درس بخواني، قبول ميشوي.
ادات شرط
1. if
2. switch ... case
3. variable = (condition) ? true : false
معروفترين ادات شرط، 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 = تفاوت بين اين دو، در چگونگي ارسال اطلاعات از فرم، به اسكريپت پردازشگر است.
- اگر از روش گت، استفاده كنيد، مقدار اطلاعاتي كه ميتوانيد ارسال كنيد، محدود است.
- با استفاده از روش get، اطلاعات به دست آمده از فرم، به عنوان بخشي از يك URL، انتقال مييابد؛ اما در روش post، اطلاعات، در حقيقت به صورت نامرئي، منتقل ميشود. اگر براي مثال، در روش گت، كاربر، يك رمز عبور را در فيلد پسورد، بنويسد، و فرد ديگري نيز در حال مشاهده صفحه نمايش كاربر باشد، به راحتي ميتواند از رمز عبور كاربر، آگاه شود. به عبارت ديگر، اين روش، در سطح امنيتي پايينتري از روش پست ميباشد.
- صفحهاي كه حاوي فرمي با مشخصه گت است، ميتواند نشانه گذاري (Bookmark) شود؛ در حالي كه در روش پست، اين كار، ممكن نيست.
اشارهگر
اشارهگر (Cursor) - كه كاربران معمولا و به اشتباه، به آن موس هم ميگويند - همان شكلي است كه با حركت موس، در مانيتور، حركت ميكند و نمادي از انگشت و دست شماست براي اشاره به اشياء داخل صفحه.
« واژه نــامه »
كـُد (Code): دستور و فرماني كه به زبان برنامه نويسي، نوشته شده.
تَـگ (Tag): كوچكترين جزء يك كد. مثلا تگ سر = ؛ تگ بدنه = ؛ تگ اسكريپت = . هر تگ بايد در داخل اين دو علامت < >، قرار گيرد.
پارامتر (Parameter): مقداري كه براي تگ، نوشته ميشود. مثلا براي تگ خط، معيّن ميكنيم كه از چه نوعي، به چه اندازهاي و چه رنگي باشد. مثال: كلمه Color، در تگ Font، پارامتري است كه رنگ متن را مشخص ميكند. پارامتر را شايد بتوان اين گونه تعريف كرد كه "قيد حالت است براي تگ". تگ اسكريپت، هم داراي پارامترهايي است.
document = سند، صفحه جاري، پنجرهاي كه در آن كار ميكنيد.
document.bgColor = رنگ پس زمينه سند.
new Date: متدِ زمان به صورت كلي و مطلق است. بعد از آن بايد نوع زمان خود را مشخص كنيد؛ يعني چه قسمتي از زمان را ميخواهيد بدانيد؛ سال، ماه، هفته، روز و ... . به تنهايي چيزي را نشان نميدهد.
toLocaleString: متدي براي به دست آوردن زمان كامل (تاريخ و ساعت) است كه به عنوان خصوصيت، براي زمان كلي استفاده ميشود.
document.write: متدي كه براي نوشتن متن در صفحه استفاده ميشود.
document.writeln: مانند دستور قبلي عمل ميكند؛ با اين تفاوت كه يك فاصله تا رشته قبلي، ايجاد ميكند.
; : به اين علامت، سِمي كالـِن (Semicolon) گفته ميشود كه در پايان هر دستور، ميآيد؛ هر چند در جاوا، اجباري نيست.
// : به اين علامت، كامنت (Comment) گفته ميشود كه براي نوشتن توضيح، در ميان كدهاي برنامه نويسي است. هر عبارتي كه بعد از اين علامت بيايد، توسط برنامه، خوانده و اجرا نميشود و صرفا ً توضيحي است كه برنامه نويس، يادداشت كرده.
ID: آيدي، همان نام (Name) شي است؛ البته گاهي در عمل تفاوتهايي با هم دارند.
innerText: با اين دستور، متن يك تگ در قسمت بدنه - مانند محتويات تگ پاراگراف - نمايش داده ميشود؛ و ميتوانيم آنرا تغيير داده و ويرايش كنيم.
outerHTML - innerHTML - outerText: اين 3 متد، شبيه دستور قبلي است؛ البته با كمي تفاوت.
setTimeout: دستور تايمر و زمان شمار است. بعد از آن، يك جفت پرانتز، قرار دارد كه داخلش، دو پارامتر نوشته ميشود:
1. اسم چيزي است كه قرار است اجرا شود؛ مانند يك تابع.
2. زماني كه تايمر در آن فعال خواهد شد. واحد زمان، ميلي ثانيه است. (1000 = يك ثانيه)
setInterval: دستور تايمر و زمان شمار است. مانند دستور قبل، عمل ميكند؛ با كمي تفاوت.
Table = جدول. <table>
Row = سطر، ستون افقي.
Cell = سلول، خانههاي جدول.
window = شي صفحه است، كه داراي متدهاي مختلفي است.
window.scroll = متد اسكرول صفحه. داخل پرانتز، دو پارامتر دارد كه دو عدد هستند كه موقعيت صفحه را نشان ميدهند. اولي، موقعيت فعلي صفحه؛ دومي، موقعيتي كه بايد به آنجا برسد.
window.scrollTo - window.scrollBy = دو متد ديگر از parent هستند. با تمرين، به دست آورديد كه چه كاري انجام ميدهند.
parent = معادل window است و در مورد اسكرول، ميتواند به جاي آن قرار گيرد.
به اميد ديدار
خدانگهدار