۲- سینتَکس

دستور زبان – Syntax

    • حساس به نوع حرف (Case Sensitive):
      جاواسکریپت به کوچکی یا بزرگی حروف اهمیت می‌دهد و آنها را دو کاراکتر متفاوت در نظر می گیرد. (A ≠ a)
    • بی تفاوت نسبت به فاصله‌ها:
      جاواسکریپت فاصله‌ها را نادیده می‌گیرد. فاصله‌ها، سر خط رفتن و تورفتگی‌ها همه برای خوانایی برنامه رعایت می شود.
    • توضیحات (Comments):
      جاواسکریپت توضیحات را نادیده می‌گیرد ولی برای فهمیدن روند اجرای برنامه بسیار ضروری است. توضیحات به دو روش می تواند در متن جاواسکریپت نوشته شود.

// Single line Comments

/*
Multi-line
Comments
*/

    • سِمی کُلُن (Semicolon):
      سمی کلن نشان دهنده پایان دستور است.
      بنابراین چند دستور می‌تواند در یک خط پشت سر هم بیاید.
      و یا یک دستور در چند خط زیر هم نوشته شود.

Multiple Statements; On One Line;

One Statement 
On Multiple Lines;

    • نقطه (Dot):
      بین نام آبجکت و پراپرتی، متد یا ایونت همیشه نقطه گذاشته می‌شود.

Object.property
Object.method
Object.event



آغاز کار در جاواسکریپت

پیش از هر کاری بهتر است با چند آبجکت در وب بروزر آشنا شویم.

window

آبجکت window، آبجکت گلوبال (global) یا سراسری نامیده می‌شود. به این معنا که پراپرتی و متدهای آن همه جا در دسترس است. و نیازی به نوشتن آن نیست.

window.alert

متد alert یک پیام را در یک پنجره نمایش می‌دهد.


// Displaying a text message
window.alert("Hello World!");

// is the same as
alert("Hello World!");

// Displaying a Number 
alert(20); // Outputs: 20

دستورات بالا را در کنسول آزمایش کنید.



تمرین ۱

  • در فولدر js1 یک فولدر به نام 1-02 بسازید.
  • یک فایل به نام index.html در آن ایجاد کنید.
  • یک جاواسکریپت اینترنال در آن بنویسید که پیام زیر را نمایش دهد:
    I’m ‘Name‘, Can I help you?
  • بجای Name نام خود را بنویسید.

console

آبجکت console بیشتر برای اشکال زدایی (debugging) است. و خطاها آنجا نمایش داده می‌شود.

console.log

متد console.log یک پیام را در کنسول نمایش می‌دهد.


// Displaying a text
console.log("Hello World!");

// Displaying a Number 
console.log(20); // Outputs: 20

دستورات بالا را در کنسول آزمایش کنید.



تمرین ۲

  • در فولدر js1 یک فولدر به نام 2-02 بسازید.
  • یک فایل به نام index.html در آن ایجاد کنید.
  • یک جاواسکریپت اینترنال در آن بنویسید که پیام زیر را در کنسول نمایش دهد:
    Completed Successfully.

document

آبجکت document محتوای داخل window است.

document.write

متد document.write یک رشته متنی را در داخل بروزر نمایش می‌دهد.


// Displaying a html
document.write("<h1>Hello World!</h1>");

// Displaying a text
document.write("Your number is: ");

// Displaying a Number 
document.write(20); // Outputs: 20

دستورات بالا را در کنسول آزمایش کنید.

document.getElementById

متد document.getElementById یک المنت با id خاصی را می‌گیرد.

HTML

<h1 id="greet">Hello World!</h1>

JS

// Gets the element with the 'greet' id:
document.getElementById("greet");

دستورات بالا را در کنسول آزمایش کنید.

آناتومی المنت HTML

element.innerHTML

متد element.innerHTML محتوای یک المنت را برمی‌گرداند یا تغییر می‌دهد.

HTML

<h1 id="greet"></h1>
<div id="msg"></div>
<p id="no"></p>

JS

// Displaying a text
document.getElementById("greet").innerHTML = "Hello World!";

// Displaying a html
document.getElementById("msg").innerHTML = "Your number is:";

// Displaying a Number 
document.getElementById("no").innerHTML = 20;

دستورات بالا را در کنسول آزمایش کنید.



تمرین ۳

  • این فایل را دانلود کنید.
  • آن را در فولدر js1 باز کنید.
  • یک جاواسکریپت اینترنال در آن بنویسید که نامتان را در تگ h1 نمایش دهد.

element.setAttribute

متد element.setAttribute یک اتریبیوت به المنت اضافه می‌کند.

HTML

<h1 id="hi">Hello World!</h1>

JS

document.getElementById("hi").setAttribute("style", "color: red");

دستورات بالا را در کنسول آزمایش کنید.



تمرین ۴

  • این فایل را دانلود کنید.
  • آن را در فولدر js1 باز کنید.
  • یک جاواسکریپت اینترنال در آن بنویسید که تصویر را در تگ img تغییر دهد.

element.style.property

متد element.style.property یک inline css به المنت اضافه می‌کند. پراپرتی css باید اینجا به شکل camelCase نوشته شود.

HTML

<h1 id="hi">Hello World!</h1>

JS

document.getElementById("hi").style.color = "red";

دستورات بالا را در کنسول آزمایش کنید.

element.onclick

ایونت element.onclick یک مجموعه ای از دستورات را هنگام کلیک روی المنت اجرا می‌کند. به این مجموعه دستورات فانکشن (function) می‌گویند.
فانکشن: یک مجموعه‌ای از دستورات که کار خاصی را انجام می‌دهند.  در جاواسکریپت فانکشن، به روش‌های گوناگونی نوشته می‌شود. که در آینده با انواع آن آشنا خواهید شد. در اینجا ساده‌ترین شکل آن را می بینید:

function() {…}

دستورات مورد نظر را درون {…} کِرلی بِرَکِت Curly Bracket بنویسید.

روی تصویر زیر کلیک کنید.

HTML

<img src="photo.jpg" id="pic"/>

JS

document.getElementById("pic").onclick = function(){ alert("Hi"); }

دستورات بالا را در کنسول آزمایش کنید.



تمرین ۵

  • این فایل را دانلود کنید.
  • آن را در فولدر js1 باز کنید.
  • یک جاواسکریپت اینترنال در آن بنویسید که در صورت کلیک روی دکمه تصویر ظاهر شود.

راهنمایی:

display: block;