11
تشکر

آموزش زبان جاوا اسکریپت– بخش دوم

JavaScript - جاوا اسکریپت

JavaScript – جاوا اسکریپت

در این مطلب در ادامه مطلب قبل به ادامه آموزش زبان JavaScript میپردازیم.

در ادامه با ما باشید…

در ابتدا با تابع substring آشنا میشویم. توسط این تابع میتوانیم قسمتی از یک متن را جدا کنیم. برای مثال میتوان از این تابع برای از بین بردن متن های طولانی و قرار دادن … به جای آن استفاده کرد.

example.substring(x, y)

در بالا Syntax (نحوه استفاده, نوع استفاده) این تابع رو مشاهده میکنید. که x به این معنا است که متن انتخابی از کجا شروع میشود و y انتهای متن انتخابی است. مثال:

var substr = "some word".substring(2, 7);
console.log(substr);

اگر کد بالا را اجرا کنید در Console مقدار “me wo” نمایش داده میشود.

توابع

توابع که بخشی جدا نشدنی از زبان های برنامه نویسی هستند در زبان JavaScript هم وجود دارند. برای ایجاد یک تابع در جاوا اسکرپیت میتوان مانند زیر عمل کرد:

var function_name = function (argument) {
    //Body function
}

مثال:

var calculation = function (num) {
    var result = (num * 3) + 2;
    return result;
};

این تابع یک عدد را میگیرد و آن را ضرب در 3 و بعلاوه 2 میکند و به عنوان خروجی بر میگرداند. برای مثال ما از تابع بالا مانند زیر استفاده میکنیم:

console.log(calculation(5));

ساخت بازی “سنگ, کاغذ قیچی”

با دانسته هایی که تا به حال از زبان جاوا اسکریپت بدست آوردیم میخواهیم یک بازی “سنگ, کاغذ, قیچی” بسازیم. این بازی به این صورت است که ابتدا کاربر یکی از این گزینه ها را انتخاب میکند. سپس کامپیوتر هم یکی انتخاب میکند و ما چک میکنیم که کدام یک از آنها برنده شده است. کدها به صورت تکه تکه همراه با توضیحات گذاشته میشود.

rock برابر سنگ, paper برابر کاغذ و scissors برابر قیچی است.

var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();

در کد بالا ابتدا از کاربر میخواهیم یکی از گزینه ها را انتخاب کند و بنویسد. در خط دوم یک عدد تصادفی از کلاس Math و متد random تولید میکنیم. این عدد تصادفی بین 0 تا 1 است.

if (computerChoice < 0.34) {
    computerChoice = "rock";
} else if(computerChoice <= 0.67) {
    computerChoice = "paper";
} else {
    computerChoice = "scissors";
}
&#91;/javascript&#93;</div>
<p dir="RTL">خب در کد بالا چک میکنیم اگر عدد تصادفی تولید شده کوچکتر از 0.34 بود انتخاب کامپیوتر را برابر "سنگ" قرار میدهیم. اما اگر کوچکتر از 0.67 بود انتخاب کامپیوتر را برابر "کاغذ" قرار میدهیم در غیر این دو صورت انتخاب کامپیوتر را برابر "قیچی" قرار میدهیم.</p>
<div class="mycode">[javascript]
var compare = function (choice1,choice2) {
    if (choice1 === choice2) {
        return "The result is a tie!";
    }
    if (choice1 === "rock") {
        if (choice2 === "scissors") {
            return "rock wins";
        } else {
            return "paper wins";
        }
    }
    if (choice1 === "paper") {
        if (choice2 === "rock") {
            return "paper wins";
        } else {
            return "scissors wins";
        }
    }
    if (choice1 === "scissors") {
        if (choice2 === "paper") {
            return "scissors wins";
        } else {
            return "rock wins";
        }
    }
};

حال یک تابع به نام compare ایجاد کرده و با استفاده از دستورات if حالات مختلف بازی را چک میکنیم.

var winer = compare(userChoice, computerChoice);
alert(winer);

با استفاده از دستور بالا از تابع استفاده میکنیم (من برای بار اول در مقابل کامپیوتر باختم!!).

نوع متغیر

حتما میدانید که در جاوا اسکریپت ما نوع متغیر را مشخص نمیکنیم  و فقط با استفاده از کلمه کلیدی var متغیر را تعریف میکنیم. اما اگر ما از کاربر یک عدد بخواهیم و کاربر به ما رشته بدهد با خطای NaN به معنای Not a Number یعنی “عدد نیست” مواجه میشویم. برای جلوگیری از این خطا ما باید ابتدا نوع متغیر را تشخیص دهیم.

نوع متغیر بر اساس محتویات داخل آن قابل تشخیص است. و اینکار را تابع typeof انجام میدهد. برای مثال ما نوع متیغر زیر را نمایش میدهیم. سعی کنید محتویات متغیر زیر را به نوع های دیگر (رشته, true یا false تغییر دهید).

var check = 45894;
alert(typeof(check));

مطالب مرتبط:

آموزش زبان جاوا اسکریپت– بخش اول

  • mahdikhanzadi می‌گه:

    برنامه نویسی شی گرا هم با فانکشن ها وجود داره که چیزی ازش ننوشتید و اظافه کردن توابع به اشیا با پروتوتایپ هم هست

  • mahdikhanzadi می‌گه:

    در مورد توابع خود اجرا ننوشتین چیزی , اگه اخر تابع جفت پرانتز بزاریم خود اجرا میشه مثلا:
    function name(){alert(its done)}(); //tabe khod ejra


  • نظرات این مطلب بسته است.