Ø§ØºÙØ¨ اÙÙØ§Øª ٠ا ÙÛØ§Ø² دارÛÙ ÛÚ© Ù Ø¬Ù ÙØ¹ÙâØ§Û Ø§Ø² Ø¯Ø³ØªÙØ±Ùا را در Ø®ÛÙÛ Ø§Ø² Ø¬Ø§ÙØ§Û کد ÚÙØ¯Û٠بار اجرا Ú©ÙÛÙ .
Ø¨Ø±Ø§Û Ù Ø«Ø§ÙØ Ù ÛâØ®ÙØ§ÙÛÙ Ú©Ù Ù¾ÛØºØ§Ù Û Ø²ÛØ¨Ø§ Ø¨Ø±Ø§Û Ú©Ø³Û Ú©Ù ÙØ§Ø±Ø¯ ØµÙØÙâØ§Û Ù ÛâØ´ÙØ¯ ÛØ§ خارج Ù ÛâØ´ÙØ¯ ÛØ§ Ø¬Ø§ÙØ§ÛÛ Ø¯Ûگر ÙÙ Ø§ÛØ´ دÙÛÙ .
ØªÙØ§Ø¨Ø¹ بÙÙÚ©âÙØ§Û ساخت٠اÙÛ Ø§ØµÙÛ ÛÚ© Ø¨Ø±ÙØ§Ù ÙâØ§ÙØ¯. Ø¢ÙÙØ§ ب٠کد اجازÙâÛ ÙØ±Ø§Ø®ÙاÙÛ Ø´Ø¯Ù ÚÙØ¯ بار٠را بدÙ٠تکرار Ù ÛâØ¯ÙÙØ¯.
Ù
ا Ù
ثاÙâÙØ§ÛÛ Ø§Ø² ØªÙØ§Ø¨Ø¹ درÙÙ Ø³ÛØ³ØªÙ
Û Ù
ث٠alert(message)Ø prompt(message, default) Ù confirm(question) را Ø¯ÛØ¯ÙâØ§ÛÙ
. اÙ
ا Ù
ÛØªÙاÙÛÙ
ØªÙØ§Ø¨Ø¹ Ø®ÙØ¯Ù
ا٠را ÙÙ
بسازÛÙ
.
تعرÛÙ ØªÙØ§Ø¨Ø¹ (Function Declaration)
Ø¨Ø±Ø§Û Ø³Ø§Ø®ØªÙ ÛÚ© تابع ٠ا ب٠تعرÛ٠کرد٠تابع ÙÛØ§Ø² Ø®ÙØ§ÙÛ٠داشت.â(function declaration)
ÚÛØ²Û شبÛ٠کد پاÛÛÙ:
function showMessage() {
alert( 'Hello everyone!' );
}
Ú©ÙÙ
ÙâÛ Ú©ÙÛØ¯Û function اÙÙ Ù
ÛâØ¢ÛØ¯Ø سپس اسÙ
تابع ٠سپس ÙÛØ³ØªÛ از پاراÙ
ØªØ±ÙØ§ Ø¯Ø§Ø®Ù Ù¾Ø±Ø§ÙØªØ² (با کاÙ
ا جدا Ù
ÛâØ´ÙÙØ¯Ø در Ù
Ø«Ø§Ù Ø¨Ø§ÙØ§ Ø¯Ø§Ø®Ù Ù¾Ø±Ø§ÙØªØ²Ùا خاÙÛâØ³Øª) ٠در ÙÙØ§Ûت کد ØªØ§Ø¨Ø¹Ø Ø¨Ø§ ÙØ§Ù
âØ¨Ø¯ÙÙâÛ ØªØ§Ø¨Ø¹âØ Ú©Ù ØªÙØ³Ø· د٠براکت Ù
ØØµÙر شد٠است.
function name(parameter1, parameter2, ... parameterN) {
// body
}
تابع Ø¬Ø¯ÛØ¯ Ù
ا Ù
ÛâØªÙØ§Ùد با اسÙ
Ø´ صدا Ø²Ø¯Ù Ø´ÙØ¯: showMessage().
Ø¨Ø±Ø§Û ÙÙ ÙÙÙ:
function showMessage() {
alert( 'Hello everyone!' );
}
showMessage();
showMessage();
ÙØ±Ø§Ø®ÙاÙÛ showMessage() کد درÙ٠تابع را اجرا Ù
ÛâÚ©ÙØ¯. در اÛÙØ¬Ø§ Ù
ا Ù¾ÛØºØ§Ù
را Ø¯ÙØ¨Ø§Ø± Ø®ÙØ§ÙÛÙ
Ø¯ÛØ¯.
اÛ٠٠ثا٠ÛÚ©Û Ø§Ø² Ø§ÙØ¯Ø§Ù اصÙÛ ØªÙØ§Ø¨Ø¹ را ÙØ´Ø§Ù Ù ÛâØ¯ÙØ¯: Ø§Ø¬ØªÙØ§Ø¨ از کد تکرارÛ.
اگر ٠ا ÙÛØ§Ø² داشت٠باشÛÙ ÙØÙÙâØ§Û Ú©Ù Ù¾ÛØºØ§Ù ÙØ´Ø§Ù داد٠٠ÛâØ´ÙØ¯ را Ø¹ÙØ¶ Ú©ÙÛÙ Ø ØªÙÙØ§ ÙØ§Ø²Ù است ک٠کد را در ÛÚ© ÙØ³Ù ت تغÛÛØ± دÙÛÙ : ØªØ§Ø¨Ø¹Û Ú©Ù Ø¢Ù Ø±Ø§ Ø®Ø±ÙØ¬Û Ù ÛâØ¯ÙØ¯.
Ù ØªØºÛØ±ÙØ§Û Ù ØÙÛ (Local variables)
اگر ÛÚ© Ù ØªØºÛØ± در درÙ٠تابع تعرÛÙ Ø´ÙØ¯Ø ÙÙØ· در درÙÙ Ù٠ا٠تابع ÙØ§Ø¨Ù Ø§Ø³ØªÙØ§Ø¯Ù است.
Ø¨Ø±Ø§Û ÙÙ ÙÙÙ:
function showMessage() {
let message = "Hello, I'm JavaScript!"; // local variable
alert( message );
}
showMessage(); // Hello, I'm JavaScript!
alert( message ); // <-- Error! The variable is local to the function
Ù ØªØºÛØ±ÙØ§Û Ø¨ÛØ±ÙÙÛ (Outer variables)
ÛÚ© تابع Ù ÛâØªÙØ§Ùد Ø¨Ù Ù ØªØºÛØ± درÙÙÛ Ø¯Ø³ØªØ±Ø³Û Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ø¯Ø Ø¨Ù Ø¹ÙÙØ§Ù ٠ثاÙ:
let userName = 'John';
function showMessage() {
let message = 'Hello, ' + userName;
alert(message);
}
showMessage(); // Hello, John
تابع Ø¯Ø³ØªØ±Ø³Û Ú©Ø§Ù Ù Ø¨Ù Ù ØªØºÛØ± Ø¨ÛØ±ÙÙÛ Ø¯Ø§Ø±Ø¯. ÙÙ ÛÙØ·Ùر Ù ÛØªÙØ§ÙØ¯ Ø¢ÙØ±Ø§ تغÛÛØ± ÙÙ Ø¨Ø¯ÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
let userName = 'John';
function showMessage() {
userName = "Bob"; // (1) changed the outer variable
let message = 'Hello, ' + userName;
alert(message);
}
alert( userName ); // John before the function call
showMessage();
alert( userName ); // Bob, the value was modified by the function
Ù ØªØºÛØ± Ø¨ÛØ±ÙÙÛ ÙÙØ· در Ù ÙØ§ÙØ¹Û Ù ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù ÙØ±Ø§Ø± Ù ÛâÚ¯ÛØ±Ø¯ Ú©Ù Ù ØªØºÛØ± Ù ØÙÛâØ§Û ÙØ¬Ùد ÙØ¯Ø§Ø´ØªÙ باشد.
اگر ÛÚ© Ù
ØªØºÛØ± ÙÙ
âÙØ§Ù
در درÙ٠تابع تعرÛÙ Ø´ÙØ¯Ø Ø¬Ø§ÙØ´ÛÙ Ù
ØªØºÛØ± Ø¨ÛØ±ÙÙÛ Ù
ÛâØ´ÙØ¯. Ø¨Ø±Ø§Û Ù
Ø«Ø§ÙØ در کد Ø²ÛØ±Ø تابع از Ù
ØªØºÛØ± Ù
ØÙÛ userName Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâÚ©ÙØ¯ Ù Ù
ØªØºÛØ± Ø¨ÛØ±ÙÙÛ ÙØ§Ø¯ÛØ¯Ù Ú¯Ø±ÙØªÙ Ù
ÛâØ´ÙØ¯:
let userName = 'John';
function showMessage() {
let userName = "Bob"; // تعرÛÙ ÛÚ© Ù
ØªØºÛØ± Ù
ØÙÛ
let message = 'Hello, ' + userName; // Bob
alert(message);
}
// the function will create and use its own userName
showMessage();
alert( userName ); // John, unchanged, the function did not access the outer variable
Ù
ØªØºÛØ±ÙØ§Û ØªØ¹Ø±ÛÙ Ø´Ø¯Ù Ø¨ÛØ±Ù٠از ÙØ± ØªØ§Ø¨Ø¹ÛØ Ù
ث٠userName در کد Ø¨Ø§ÙØ§Ø Ø³Ø±Ø§Ø³Ø±Û ÙØ§Ù
ÛØ¯Ù Ù
ÛâØ´ÙÙØ¯.
Ù ØªØºÛØ±ÙØ§Û Ø³Ø±Ø§Ø³Ø±Û Ø¨Ø±Ø§Û ÙØ± ØªØ§Ø¨Ø¹Û ÙØ§Ø¨Ù Ø§Ø³ØªÙØ§Ø¯Ù است (٠گر اÛÙÚ©Ù Ù ØªØºÛØ±Û Ù ØÙÛ Ø¢Ù Ø±Ø§ تغÛÛØ± Ø¯ÙØ¯).
٠ع٠ÙÙØ§Ø ÛÚ© تابع ØªÙ Ø§Ù Ù ØªØºÛØ±ÙØ§Û Ù Ø±Ø¨ÙØ· ب٠کارش را تعرÛÙ Ù ÛâÚ©ÙØ¯. Ù ØªØºÛØ±ÙØ§Û Ø³Ø±Ø§Ø³Ø±Û ÙÙØ· Ø§Ø·ÙØ§Ø¹Ø§Øª سطØ-پرÙÚ٠را Ø°Ø®ÛØ±Ù Ù ÛâÚ©ÙÙØ¯ Ù Ù Ù٠است ک٠اÛÙ Ù ØªØºÛØ±Ùا ÙØ§Ø¨Ù Ø¯Ø³ØªØ±Ø³Û Ø§Ø² ÙØ±Ø¬Ø§ÛÛ Ø¨Ø§Ø´ÙØ¯. Ú©Ø¯ÙØ§Û Ø¬Ø¯ÛØ¯ Ù ØªØºÛØ±ÙØ§Û Ø³Ø±Ø§Ø³Ø±Û Ú©Ù Û Ø¯Ø§Ø±ÙØ¯ ÛØ§ Ø§ØµÙØ§ ÙØ¯Ø§Ø±Ùد. اکثر Ù ØªØºÛØ±Ùا در درÙ٠تابعâ ÙØ§Ûشا٠تعرÛÙ Ù ÛâØ´ÙÙØ¯.
Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§
٠ا Ù ÛâØªÙØ§ÙÛÙ Ø§Ø·ÙØ§Ø¹Ø§Øª Ø¯ÙØ®ÙاÙÛ Ø±Ø§ Ø¨Ù ØªÙØ§Ø¨Ø¹ با Ú©Ù Ú© Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§ پاس بدÙÛÙ .
در Ù
Ø«Ø§Ù Ø²ÛØ±Ø تابع د٠پاراÙ
تر دارد: from ٠text.
function showMessage(from, text) { // parameters: from, text
alert(from + ': ' + text);
}
showMessage('Ann', 'Hello!'); // Ann: Hello! (*)
showMessage('Ann', "What's up?"); // Ann: What's up? (**)
ÙÙØªÛ تابع در Ø®Ø·ÙØ· (*) Ù (**) صدا زد٠Ù
ÛâØ´ÙØ¯Ø Ù
ÙØ§Ø¯Ûر داد٠شد٠در Ù
ØªØºÛØ±ÙØ§Û Ù
ØÙÛ from Ù text Ú©Ù¾Û Ù
ÛâØ´ÙÙØ¯. Ø³Ù¾Ø³Ø ØªØ§Ø¨Ø¹ از Ø¢ÙÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâÚ©ÙØ¯.
Ù
ثاÙÛ Ø¯Ûگر: ÛÚ© Ù
ØªØºÛØ± from دارÛÙ
٠ب٠تابع پاس Ù
ÛâØ¯ÙÛÙ
. ØªÙØ¬Ù Ú©ÙÛØ¯: ØªØ§Ø¨Ø¹Ø from را تغÛÛØ± Ù
ÛâØ¯ÙØ¯Ø اÙ
ا تغÛÛØ± در Ø¨ÛØ±ÙÙ Ø¯ÛØ¯Ù ÙÙ
ÛâØ´ÙØ¯Ø ÚØ±Ø§Ú©Ù تابع ÙÙ
ÛØ´Ù ÛÚ© Ú©Ù¾Û Ø§Ø² Ù
ÙØ¯Ø§Ø± آ٠را Ù
ÛâÚ¯ÛØ±Ø¯:
function showMessage(from, text) {
from = '*' + from + '*'; // make "from" look nicer
alert( from + ': ' + text );
}
let from = "Ann";
showMessage(from, "Hello"); // *Ann*: Hello
// the value of "from" is the same, the function modified a local copy
alert( from ); // Ann
ÙÙØªÛ ÛÚ© Ù ÙØ¯Ø§Ø± ب٠عÙÙØ§Ù ÛÚ© پارا٠تر تابع پاس داد٠٠ÛâØ´ÙØ¯Ø ب٠آ٠آرگÙ٠ا٠ÙÛØ² Ù ÛâÚ¯ÙÛÙØ¯.
Ø¨Ù Ø¹Ø¨Ø§Ø±ØªÛ Ø¯ÛÚ¯Ø±Ø Ø¨Ú¯Ø°Ø§Ø±ÛØ¯ اÛÙ Ù ÙØ±Ø±Ø§Øª را تعÛÛÙ Ú©ÙÛÙ :
- ÛÚ© پارا٠تر ÛÚ© Ù ØªØºÛØ± ÙÛØ³Øª شد٠درÙÙ Ù¾Ø±Ø§ÙØªØ²âÙØ§Û تعرÛ٠تابع است (ÛÚ© عبارت Ù Ø®ØµÙØµ ز٠ا٠تعرÛÙ).
- ÛÚ© آرگÙÙ Ø§Ù Ù ÙØ¯Ø§Ø±ÛâØ³Øª ک٠ب٠تابع Ù ÙÙØ¹ صدازد٠آ٠پاس داد٠شد٠است (ÛÚ© عبارت Ù Ø®ØµÙØµ Ø²Ù Ø§Ù ÙØ±Ø§Ø®ÙاÙÛ).
٠ا ØªÙØ§Ø¨Ø¹ را با Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§ÛâØ´Ø§Ù ØªØ¹Ø±ÛÙ Ù ÛâÚ©ÙÛÙ Ø Ù Ø³Ù¾Ø³ Ø¢ÙâÙØ§ را با آرگÙ٠اÙâÙØ§Ûشا٠صدا Ù ÛâØ²ÙÛÙ .
در Ù
Ø«Ø§Ù Ø¨Ø§ÙØ§Ø Ù
ÛâØªÙØ§ÙÛØ¯ بگÙÛÛØ¯: «تابع âsayMessage با د٠پاراÙ
تر تعرÛÙ Ø´Ø¯ÙØ پس با د٠آرگÙÙ
ا٠صدا زد٠Ù
ÛâØ´ÙØ¯: from Ù Hello».
Ù ÙØ§Ø¯Ûر Ù¾ÛØ´âÙØ±Ø¶
اگر پاراÙ
ØªØ±Û ÙØ±Ø§ÙÙ
ÙØ´Ø¯Ù Ø¨Ø§Ø´Ø¯Ø Ù
ÙØ§Ø¯Ûر Ø¢Ù undefined Ù
ÛâØ´ÙÙØ¯.
Ø¨Ø±Ø§Û Ù
Ø«Ø§ÙØ تابع showMessage(from, text)Ø Ù
ÛâØªÙØ§Ùد با ÛÚ© آرگÙÙ
ا٠صدا Ø²Ø¯Ù Ø´ÙØ¯:
showMessage("Ann");
اÛÙ ÛÚ© خطا ÙÛØ³Øª. Ø®Ø±ÙØ¬Û اÛÙ ÙØ±Ø§Ø®ÙاÙÛ "Ann: undefined" است. text ÙØ¯Ø§Ø±ÛÙ
پس Ù¾ÛØ´âÙØ±Ø¶ اÛ٠است Ú©Ù text === undefined.
اگر Ù
ا Ø¨Ø®ÙØ§ÙÛÙ
ÛÚ© Ù
ÙØ¯Ø§Ø± âÙ¾ÛØ´âÙØ±Ø¶â Ø¨Ø±Ø§Û text در اÛÙ ØØ§Ùت Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
Ø Ù
ÛâØªÙØ§ÙÛÙ
آ٠را بعد از = Ù
شخصش Ú©ÙÛÙ
:
function showMessage(from, text = "no text given") {
alert( from + ": " + text );
}
showMessage("Ann"); // Ann: no text given
ØØ§Ùا اگر پاراÙ
تر text پاس Ø¯Ø§Ø¯Ù ÙØ´ÙØ¯Ø Ù
ÙØ¯Ø§Ø± "no text given" را Ù
ÛâÚ¯ÛØ±Ø¯.
ÙÙ
ÚÙÛ٠اگر پاراÙ
تر ÙØ¬Ùد داشت٠باشد ÙÛØ² Ù
Ù
ک٠است Ù
ÙØ¯Ø§Ø± Ù¾ÛØ´âÙØ±Ø¶ ÙØ±Ø§Ø± Ø¨Ú¯ÛØ±Ø¯Ø در ØµÙØ±ØªÛ ک٠برابر با undefined Ø¨Ø§Ø´Ø¯Ø Ù
اÙÙØ¯ Ø²ÛØ±:
showMessage("Ann", undefined); // Ann: no text given
اÛÙØ¬Ø§ "no text given" ÛÚ© Ø±Ø´ØªÙ Ø§Ø³ØªØ Ø§Ù
ا Ù
ÛâØªÙØ§Ùد عبارت Ù¾ÛÚÛØ¯ÙâØªØ±Û Ø¨Ø§Ø´Ø¯Ø Ú©Ù ØªÙÙØ§ در ØØ§ÙØªÛ Ø§Ø±Ø²ÛØ§Ø¨Û Ù Ù
ÙØ¯Ø§Ø±Ø¯ÙÛ Ù
ÛâØ´ÙØ¯ ک٠پاراÙ
ØªØ±Û ÙØ¬Ùد ÙØ¯Ø§Ø´ØªÙ باشد. Ø¨ÙØ§Ø¨Ø±Ø§Û٠اÛÙ ÙÙ
Ù
Ù
ک٠است:
function showMessage(from, text = anotherFunction()) {
// anotherFunction() only executed if no text given
// its result becomes the value of text
}
در Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±ÛÙ¾ØªØ ÛÚ© پارا٠تر Ù¾ÛØ´âÙØ±Ø¶ ÙØ±Ø¨Ø§Ø± ک٠تابع بدÙ٠پارا٠تر ٠رÛÙØ·Ù صدا Ø²Ø¯Ù Ø¨Ø´ÙØ¯Ø Ø§Ø±Ø²ÛØ§Ø¨Û Ù ÛâØ´ÙØ¯.
در Ù
Ø«Ø§Ù Ø¨Ø§ÙØ§Ø anotherFunction() ÙØ±Ø¨Ø§Ø± Ú©Ù showMessage() بدÙ٠پاراÙ
تر text صدا Ø²Ø¯Ù Ø¨Ø´ÙØ¯Ø ÙØ±Ø§Ø®ÙاÙÛ Ù
ÛâØ´ÙØ¯.
از سÙÛ Ø¯ÛÚ¯Ø±Ø Ø§ÛÙ Ø¨Ù Ø·ÙØ± Ù
ستÙÙ ÙØ±Ø§Ø®ÙاÙÛ Ù
ÛâØ´ÙØ¯ ÙÙØªÛ text ÙØ¬Ùد ÙØ¯Ø§Ø´ØªÙ باشد.
Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ جاÛگزÛÙ
ÚÙØ¯ Ø³Ø§Ù Ù¾ÛØ´Ø Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت از سÛÙØªÚ©Ø³ Ø¨Ø±Ø§Û Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ Ù¾Ø´ØªÛØ¨Ø§ÙÛ ÙÙ Ûâکرد. پس Ø§ÙØ±Ø§Ø¯ از Ø±ÙØ´âÙØ§Û دÛگر Ø¨Ø±Ø§Û ØªØ¹ÛÛ٠آÙâÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâÚ©Ø±Ø¯ÙØ¯.
Ø§Ù Ø±ÙØ²ÙØ Ø¯Ø± اسکرÛپتâÙØ§Û ÙØ¯ÛÙ Û Ù ÛâØªÙØ§ÙÛ٠با Ø¢ÙâÙØ§ Ø¨Ø±Ø®ÙØ±Ø¯ داشت٠باشÛÙ .
Ø¨Ø±Ø§Û Ù
Ø«Ø§ÙØ ÛÚ© Ø¨Ø±Ø±Ø³Û Ø¶Ù
ÙÛ Ø¨Ø±Ø§Û undefined:
function showMessage(from, text) {
if (text === undefined) {
text = 'Ù
تÙÛ Ø¯Ø§Ø¯Ù ÙØ´Ø¯Ù';
}
alert( from + ": " + text );
}
â¦Ûا Ø§Ø³ØªÙØ§Ø¯Ù از عÙ
گر ||:
function showMessage(from, text) {
// Ø¨ÙØ¯Ø Ù
ÙØ¯Ø§Ø± Ù¾ÛØ´âÙØ±Ø¶ را ØªØ®ØµÛØµ بد٠falsy از ÙÙØ¹ text اگر Ù
ÙØ¯Ø§Ø±
// با ÙØ¬Ùد ÙØ¯Ø§Ø´ØªÙ Ù
ت٠Ûکسا٠است text == "" اÛÙ ÛØ¹ÙÛ
text = text || 'Ù
تÙÛ Ø¯Ø§Ø¯Ù ÙØ´Ø¯Ù';
...
}
گاÙÛ Ø§ÙÙØ§Øª اÛÙ Ù ÙØ·ÙÛ Ø§Ø³Øª Ú©Ù Ù ÙØ¯Ø§Ø±ÙØ§Û Ù¾ÛØ´âÙØ±Ø¶ Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§ را در ٠رØÙÙâØ§Û Ø¨Ø¹Ø¯ از تعرÛ٠تابع ÙØ±Ø§Ø± دÙÛÙ .
Ø¨Ø±Ø§Û Ø¨Ø±Ø±Ø³Û ÛÚ© پاراÙ
تر ØØ°Ù Ø´Ø¯ÙØ Ù
ÛâØªÙØ§ÙÛÙ
آ٠را با undefined Ù
ÙØ§Ûس٠کÙÛÙ
:
function showMessage(text) {
// ...
if (text === undefined) { // if the parameter is missing
text = 'empty message';
}
alert(text);
}
showMessage(); // empty message
â¦Ûا Ù
ÛâØªÙØ§ÙستÛÙ
از عÙ
Ùگر || Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ
:
function showMessage(text) {
// if text is undefined or otherwise falsy, set it to 'empty'
text = text || 'empty';
...
}
Ù
ÙØªÙØ±ÙØ§Û Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Ù
در٠از عÙ
Ùگر nullish coalescing ?? Ù¾Ø´ØªÛØ¨Ø§ÙÛ Ù
ÛâÚ©ÙÙØ¯Ø اÛ٠عÙ
Ùگر زÙ
اÙÛ Ú©Ù Ù
ÙØ¯Ø§Ø±ÙØ§Û falsy Ù
ث٠0 Ù
عÙ
ÙÙÛ ÙØ±Ø¶ Ù
ÛâØ´ÙÙØ¯Ø Ø¨ÙØªØ± است:
function showCount(count) {
// if count is undefined or null, show "unknown"
alert(count ?? "unknown");
}
showCount(0); // 0
showCount(null); // unknown
showCount(); // unknown
بازگرداÙÛ ÛÚ© Ù ÙØ¯Ø§Ø± (Returning a value)
ÛÚ© تابع Ù ÛâØªÙØ§Ùد Ù ÙØ¯Ø§Ø±Û را در ÙØ±Ø§Ø®ÙاÙÛ Ú©Ø¯ ب٠عÙÙØ§Ù ÛÚ© Ø¬ÙØ§Ø¨ Ø¨Ø§Ø²Ú¯Ø±Ø¯Ø§ÙØ¯.
سادÙâØªØ±Û٠٠ثا٠ÛÚ© تابعÛâØ³Øª ک٠ج٠ع د٠عدد را ØØ³Ø§Ø¨ Ù ÛâÚ©ÙØ¯:
function sum(a, b) {
return a + b;
}
let result = sum(1, 2);
alert( result ); // 3
return Ù
ÛØªÙØ§ÙØ¯ در ÙØ±Ø¬Ø§ÛÛ Ø§Ø² تابع باشد. ÙÙØªÛ Ø§Ø¬Ø±Ø§Û ØªØ§Ø¨Ø¹ ب٠آ٠Ù
ÛâØ±Ø³Ø¯Ø ØªØ§Ø¨Ø¹ Ù
تÙÙÙ Ù
ÛâØ´ÙØ¯ Ù Ù
ÙØ¯Ø§Ø± ب٠کد ØµØ¯Ø§Ø²Ø¯Ù Ø´Ø¯ÙØ Ø¨Ø§Ø²Ú¯Ø±Ø¯Ø§ÙØ¯Ù âÙ
ÛâØ´ÙØ¯ (ک٠در کد Ø¨Ø§ÙØ§ result است.)
return Ù
Ù
ک٠است در ÛÚ© تابع Ø¨Ø§Ø±ÙØ§ Ø¸Ø§ÙØ± Ø´ÙØ¯. Ø¨Ø±Ø§Û Ù
ثاÙ:
function checkAge(age) {
if (age >= 18) {
return true;
} else {
return confirm('Do you have permission from your parents?');
}
}
let age = prompt('How old are you?', 18);
if ( checkAge(age) ) {
alert( 'Access granted' );
} else {
alert( 'Access denied' );
}
ÙÙ
ÚÙÛÙ Ù
Ù
ک٠است Ú©Ù return را بدÙÙ Ù
ÙØ¯Ø§Ø± Ø§Ø³ØªÙØ§Ø¯Ù کرد. اÛ٠باعث Ù
ÛâØ´ÙØ¯ ک٠تابع در ÙÙ
Ø§Ù ÙØØ¸Ù Ø®Ø§Ø±Ø¬ Ø´ÙØ¯.
Ø¨Ø±Ø§Û Ù Ø«Ø§Ù:
function showMovie(age) {
if ( !checkAge(age) ) {
return;
}
alert( "Showing you the movie" ); // (*)
// ...
}
در کد Ø¨Ø§ÙØ§Ø اگر checkAge(age)Ø false Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ø Ø³Ù¾Ø³Ø showMovie ب٠alert ÙÙ
ÛâØ±Ø³Ø¯.
return ÛØ§ بدÙÙ Ø¢ÙØ undefined برÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯.اگر ÛÚ© تابع Ù
ÙØ¯Ø§Ø±Û را برÙÚ¯Ø±Ø¯Ø§ÙØ¯Ø Ù
ث٠اÛÙ Ù
ÛâÙ
Ø§ÙØ¯ Ú©Ù undefined را Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù باشد:
function doNothing() { /* empty */ }
alert( doNothing() === undefined ); // true
Ù
ÙØ¯Ø§Ø± return خاÙÛØ Ù
ث٠return undefined است:
function doNothing() {
return;
}
alert( doNothing() === undefined ); // true
return Ù Ù
ÙØ¯Ø§Ø± ÙÚ¯Ø°Ø§Ø±ÛØ¯Ø¨Ø±Ø§Û جÙ
ÙÙâØ§Û Ø·ÙÙØ§ÙÛ Ø¯Ø± returnØ Ø´Ø§ÛØ¯ ÙØ³Ùس٠کÙÙØ¯Ù Ø¨Ù ÙØ¸Ø± برسد ک٠در ÛÚ© Ø®Ø·Û Ø¬Ø¯Ø§ بدÛ٠شک٠بگذارÛÙ
:
return
(some + long + expression + or + whatever * f(a) + f(b))
اÙ
ا اÛ٠کار ÙÙ
ÛâÚ©ÙØ¯ ÚÙÙ Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت بعد return ÛÚ© ; ÙØ±Ø¶ Ù
ÛâÚ¯ÛØ±Ø¯. Ù
Ø«Ù:
return;
(some + long + expression + or + whatever * f(a) + f(b))
Ø¨ÙØ§Ø¨Ø±Ø§ÛÙØ ب٠ÛÚ© بازگرداÙÛ Ø®Ø§ÙÛ ØªØ¨Ø¯ÛÙ Ù ÛâØ´ÙØ¯.
اگر Ù
ا Ø¨Ø®ÙØ§ÙÛÙ
ک٠عبارت Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯Ù شد٠در ÚÙØ¯Û٠خط Ø¨Ø§Ø´Ø¯Ø Ø¨Ø§ÛØ¯ آ٠را در ÙÙ
ا٠خط return آغاز Ú©ÙÛÙ
. ÛØ§ ØØ¯Ø§ÙÙ Ù¾Ø±Ø§ÙØªØ² اÙÙ (باز Ø´ÙÙØ¯Ù) را Ø¢ÙØ¬Ø§ بگذارÛÙ
Ø Ù
اÙÙØ¯ کد Ø²ÛØ±:
return (
some + long + expression
+ or +
whatever * f(a) + f(b)
)
اÛ٠کد ÙÙ Ø§ÙØ·Ùر ک٠٠ا تÙÙØ¹ دارÛ٠کار Ù ÛâÚ©ÙØ¯.
ÙØ§Ù Ú¯Ø°Ø§Ø±Û ÛÚ© تابع
ØªÙØ§Ø¨Ø¹Ø Ø§Ø¹Ù Ø§Ù ÙØ³ØªÙد. Ø¨ÙØ§Ø¨Ø±Ø§Û٠اس٠آÙÙØ§ ع٠Ù٠ا ÛÚ© ÙØ¹Ù است. Ø¨Ø§ÛØ¯ Ø®ÙØ§ØµÙ باشد ٠با Ø¨ÛØ´ØªØ±ÛÙ Ø¯ÙØª Ù Ù Ú©ÙØ ÙØ¹Ø§ÙÛØª تابع را ØªÙØµÛÙ Ú©ÙØ¯ ک٠اگر Ú©Ø³Û Ú©Ø¯ را Ù Ø·Ø§ÙØ¹Ù Ù Ûâکرد Ù ØªÙØ¬Ù ÙÙØ¹ ÙØ¹Ø§ÙÛØª تابع Ø¨Ø´ÙØ¯.
اÛÙ ÛÚ© Ø±ÙØ´ ٠ع٠Ù٠است ک٠تابع را با Ù¾ÛØ´ÙÙØ¯ ÙØ¹ÙÛ Ø´Ø±ÙØ¹ Ú©ÙÛ٠ک٠کارش را ب٠گÙÚ¯Û ØªÙØµÛÙ Ú©ÙØ¯. ÛÚ© ØªÙØ§ÙÙÛ Ø¯Ø± تÛÙ Ø¨Ø§ÛØ¯ بر ٠عÙÛâÙØ§Û اÛÙ Ù¾ÛØ´ÙÙØ¯Ùا باشد.
Ø¨Ø±Ø§Û ÙÙ
ÙÙÙØ ØªÙØ§Ø¨Ø¹Û ک٠با "show" Ø´Ø±ÙØ¹ Ù
ÛâØ´ÙÙØ¯Ø Ù
عÙ
ÙÙØ§ ÚÛØ²Û را ÙÙ
Ø§ÛØ´ Ù
ÛâØ¯ÙÙØ¯.
ØªÙØ§Ø¨Ø¹Û ک٠با اÛÙâÙØ§ Ø´Ø±ÙØ¹ Ù ÛâØ´ÙÙØ¯â¦
"getâ¦"â Ù ÙØ¯Ø§Ø±Û را بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯Ø"calcâ¦"â ÚÛØ²Û را Ù ØØ§Ø³Ø¨Ù Ù ÛâÚ©ÙØ¯Ø"createâ¦"â ÚÛØ²Û را Ù ÛâØ³Ø§Ø²Ø¯Ø"checkâ¦"â ÚÛØ²Û را Ø¨Ø±Ø±Ø³Û Ù ÛâÚ©ÙØ¯ Ù Ù ÙØ¯Ø§Ø± boolean بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯ Ù ØºÛØ±Ù.
ÙÙ ÙÙÙâÙØ§ÛÛ Ø§Ø² ÚÙÛÙ ÙØ§Ù âÙØ§ÛÛ:
showMessage(..) // Ù¾ÛØºØ§Ù
Û Ø±Ø§ ÙØ´Ø§Ù Ù
ÛâØ¯ÙØ¯.
getAge(..) // س٠را برÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯ Ú©Ù Ø¨Ù ÙØÙÛ Ù
ÙØ¯Ø§Ø±Ø´ Ø¨Ù Ø¢Ù Ø±Ø³ÛØ¯Ù
calcSum(..) // جÙ
ع Ù
ÛâÚ©ÙØ¯ Ù Ø¬ÙØ§Ø¨ را برÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯
createForm(..) // ÛÚ© ÙØ±Ù
Ù
ÛâØ³Ø§Ø²Ø¯ ٠عÙ
ÙÙ
ا آ٠را برÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯
checkPermission(..) // ÛÚ© Ø³Ø·Ø Ø¯Ø³ØªØ±Ø³Û Ø±Ø§ Ø¨Ø±Ø±Ø³Û Ù
ÛâÚ©ÙØ¯ ٠صØÛØ Ù ØºÙØ· برÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯
با Ù¾ÛØ´ÙÙØ¯âÙØ§ در Ø¬Ø§Û Ø®ÙØ¯Ø ÙگاÙÛ Ú©ÙØªØ§Ù Ø¨Ù ÙØ§Ù ØªØ§Ø¨Ø¹Ø Ø¯Ø±Ú©Û Ø§Ø² ÙÙØ¹ کار Ù Ù ÙØ¯Ø§Ø±Û ک٠بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯ را ب٠٠ا Ù ÛâØ¯ÙØ¯.
ÛÚ© تابع Ø¨Ø§ÛØ³ØªÛ ÚÛØ²Û ک٠از ÙØ§Ù Ø´ Ù¾ÛØ¯Ø§Ø³Øª را Ø§ÙØ¬Ø§Ù Ø¨Ø¯ÙØ¯Ø ÙÙ Ø¨ÛØ´ØªØ±.
Ø¯Ù ÙØ¹Ø§ÙÛØª ٠ستÙÙØâ Ø¹Ù Ù٠ا ب٠د٠تابع ÙÛØ§Ø² Ø¯Ø§Ø±ÙØ¯Ø ØØªÛ اگر ع٠Ù٠ا باÙ٠صدا زد٠٠ÛâØ´ÙÙØ¯ (در اÛÙ ØØ§Ùت Ù ÛâØªÙØ§ÙÛÙ ÛÚ© تابع سÙÙ Û Ø¨Ø³Ø§Ø²ÛÙ Ú©Ù Ø¯ÙØªØ§Û دÛگر را صدا Ù ÛâØ²ÙØ¯)
Ù Ø«Ø§Ù ÙØ§ÛÛ Ø§Ø² شکست٠اÛÙ ÙØ§ÙÙÙ:
getAgeâ کار Ø®ÙØ¨Û ÙÛØ³Øª اگر ÛÚ©alertرا Ù٠را٠با Ø³Ù ÙØ´Ø§Ù Ø¨Ø¯ÙØ¯ (ÙÙØ· Ø¨Ø§ÛØ¯ Ø¯Ø±ÛØ§Ùت Ú©ÙØ¯).createFormâ کار Ø®ÙØ¨Û ÙÛØ³Øª اگر document را تغÛÛØ± Ø¨Ø¯ÙØ¯ ÛØ§ ÙØ±Ù Û Ø¨Ù Ø¢Ù Ø§Ø¶Ø§ÙÙ Ú©ÙØ¯ (Ø¨Ø§ÛØ¯ ÙÙØ· Ø¢ÙØ±Ø§ بسازد Ù Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯).checkPermissionâ کار Ø®ÙØ¨Û ÙÛØ³Øª اگر Ù¾ÛØ§Ùaccess granted/deniedرا ÙØ´Ø§Ù Ø¯ÙØ¯ (ÙÙØ· Ø¨Ø§ÛØ¯ Ø¨Ø±Ø±Ø³Û Ø±Ø§ اجرا Ú©ÙØ¯ Ù Ù ÙØ¯Ø§Ø± را Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯).
اÛ٠٠ثاÙâÙØ§ ٠عاÙÛ Ù Ø´ØªØ±Ú©Û Ø§Ø² Ù¾ÛØ´ÙÙØ¯âÙØ§ را ارائ٠٠ÛâÚ©ÙÙØ¯. اÛÙÚ©Ù Ú٠٠عÙÛâØ§Û Ø¨Ø±Ø§Û Ø´Ù Ø§ دارد ØªÙØ³Ø· Ø®ÙØ¯ ش٠ا ٠تÛÙ âØªØ§Ù Ù Ø´Ø®Øµ Ù ÛâØ´ÙØ¯Ø ا٠ا ٠ع٠ÙÙØ§ Ø®ÛÙÛ Ù ØªÙØ§Ùت ÙÛØ³ØªÙد. Ø¨Ù ÙØ± ØØ§ÙØ Ø´Ù Ø§ Ø¨Ø§ÛØ¯ ÛÚ© درک ÙØ§Ø·Ø¹ از اÛÙÚ©Ù Ù¾ÛØ´ÙÙØ¯Ùا Ú٠٠عÙÛâØ§Û Ù ÛâØ¯ÙÙØ¯ Ù ÙØ± تابع Ø¯Ø§Ø±Ø§Û Ù¾ÛØ´ÙÙØ¯ ÚÙ Ú©Ø§Ø±Û Ø±Ø§ Ø§ÙØ¬Ø§Ù Ù ÛâØ¯ÙØ¯ Ù ÚÙ Ú©Ø§Ø±Û Ø±Ø§ Ø§ÙØ¬Ø§Ù ÙÙ ÛâØ¯ÙØ¯Ø Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯. ت٠ا٠تابعâÙØ§Û Ø¯Ø§Ø±Ø§Û Ù¾ÛØ´ÙÙØ¯ Ù Ø´Ø§Ø¨Ù Ø¨Ø§ÛØ¯ از ÙÙØ§ÙÛÙ Ù¾ÛØ±ÙÛ Ú©ÙÙØ¯. ÙÙ ÚÙÛ٠تÛÙ Ø¨Ø§ÛØ¯ Ø§Ø·ÙØ§Ø¹Ø§Øª Ø®ÙØ¯Ø´ را ب٠اشتراک بگذارد.
ØªÙØ§Ø¨Ø¹Û Ú©Ù Ø¨ÛØ´ØªØ± Ù ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù ÙØ±Ø§Ø± Ù ÛâÚ¯ÛØ±ÙØ¯Ø Ø¨Ø¹Ø¶Û Ø§ÙÙØ§Øª اس٠âÙØ§Û Ø®ÛÙÛ Ú©ÙØªØ§ÙÛ Ø¯Ø§Ø±ÙØ¯.
Ø¨Ø±Ø§Û Ù
Ø«Ø§ÙØ ÙØ±ÛÙ
ÙØ±Ú© jQuery ÛÚ© تابع را با $ تعرÛÙ Ù
ÛâÚ©ÙØ¯. کتابخاÙÙâ Lodash ÙÙ
تابع اصÙÛâØ´ با ÙØ§Ù
_ است.
اÛÙÙØ§ Ø§Ø³ØªØ«ÙØ§ ÙØ³ØªÙد. ع٠Ù٠ا اس٠âÙØ§Û ØªÙØ§Ø¨Ø¹ Ø¨Ø§ÛØ¯ ٠ختصر Ù ØªÙØµÛÙÛ Ø¨Ø§Ø´ÙØ¯.
Functions == Comments
ØªÙØ§Ø¨Ø¹ Ø¨Ø§ÛØ¯ Ú©ÙØªØ§Ù Ø¨Ø§Ø´ÙØ¯ ٠دÙÛÙØ§ ÛÚ© کار ٠شخص را Ø§ÙØ¬Ø§Ù بدÙÙØ¯. اگر آ٠کار بزرگ است Ø´Ø§ÛØ¯ ÙÛØ§Ø² باشد ک٠تابع را ب٠ÚÙØ¯ تابع Ú©ÙÚکتر بشکاÙÛÙ . گاÙÛ Ø§ÙÙØ§Øª Ø¯ÙØ¨Ø§Ù کرد٠اÛÙ ÙØ§ÙÙ٠کار سادÙâØ§Û ÙÛØ³Øª ا٠ا ÙØ·Ø¹Ø§ در Ú©Ù ÚÛØ² Ù ÙÛØ¯ Ù Ø®ÙØ¨ÛâØ³Øª.
ÛÚ© تابع ٠جزا Ù٠تÙÙØ§ Ø¨Ø±Ø§Û Ø¢Ø²Ù ÙØ¯Ù Ù Debug کرد٠سادÙâØªØ± است بÙÚ©Ù ØØªÛ ÙØ¬Ùد Ø¯Ø§Ø´ØªÙØ´ ÙÙ ØªÙØµÛÙÛ Ø§Ø² ÙØÙ٠کارکرد است.
Ø¨Ø±Ø§Û ÙÙ
ÙÙÙØ د٠تابع showPrimes(n) Ø²ÛØ± را Ù
ÙØ§Ø³ÛÙ Ú©ÙÛØ¯. ÙØ± ÛÚ© اعداد اÙ٠را تا n Ø®Ø±ÙØ¬Û Ù
ÛâØ¯ÙØ¯.
ØØ§Ùت اÙ٠از Ø¨Ø±ÚØ³Ø¨ Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâÚ©ÙØ¯:
function showPrimes(n) {
nextPrime: for (let i = 2; i < n; i++) {
for (let j = 2; j < i; j++) {
if (i % j == 0) continue nextPrime;
}
alert( i ); // a prime
}
}
در ØØ§Ùت دÙÙ
Ø Ø§Ø² ÛÚ© تابع Ø§ÙØ²ÙدÙâØ§Û Ø¨Ù ÙØ§Ù
isPrime(n) Ø¨Ø±Ø§Û Ø¨Ø±Ø±Ø³Û Ø§ÙÙ Ø¨ÙØ¯Ù Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâØ´ÙØ¯:
function showPrimes(n) {
for (let i = 2; i < n; i++) {
if (!isPrime(i)) continue;
alert(i); // a prime
}
}
function isPrime(n) {
for (let i = 2; i < n; i++) {
if ( n % i == 0) return false;
}
return true;
}
ØØ§Ùت دÙÙ
ÙØ§Ø¨Ù ÙÙÙ
âØªØ± Ø§Ø³ØªØ ÙÙØ ØªÙØ§Ùت ØØ§Ùت دÙÙ
اÛ٠است Ú©Ù Ø¨Ù Ø¬Ø§Û Ú©Ø¯Ø ÛÚ© تابع با ÙØ§Ù
(isPrime) اضاÙ٠شد٠است. Ø¨Ø¹Ø¶Û Ø§ÙÙØ§Øª ب٠اÛÙØ¬Ùر Ú©Ø¯ÙØ§Ø Ú©Ø¯ÙØ§Û Ø®ÙØ¯-ØªÙØµÛÙ Ù
ÛâÚ¯ÙÛÙØ¯.
Ø¨ÙØ§Ø¨Ø±Ø§ÛÙØ ØØªÛ اگر ٠ا ÙØµØ¯ Ø§Ø³ØªÙØ§Ø¯Ù Ø¯ÙØ¨Ø§Ø±Ù تابع را ÙØ¯Ø§Ø±ÛÙ Ø ØªÙØ§Ø¨Ø¹ Ù ÛâØªÙØ§ÙÙØ¯ ساخت٠شÙÙØ¯. Ø¢ÙÙØ§ کد را تشکÛÙ Ù ÛâØ¯ÙÙØ¯ ٠آ٠را Ø®ÙØ§Ùاتر Ù ÛâÚ©ÙÙØ¯.
Ø®ÙØ§ØµÙ
تعرÛÙ ÛÚ© تابع شبÛ٠اÛ٠است:
function name(parameters, delimited, by, comma) {
/* code */
}
- Ù ÙØ§Ø¯Ûر پاس داد٠شد٠ب٠ÛÚ© تابع ب٠عÙÙØ§Ù Ù¾Ø§Ø±Ø§Ù ØªØ±Ø Ø¯Ø± Ù ØªØºÛØ±ÙØ§Û Ù ØÙÛ Ú©Ù¾Û Ù ÛâØ´ÙÙØ¯.
- ÛÚ© تابع ٠٠ک٠است Ø¨Ù Ù ØªØºÛØ±ÙØ§Û Ø¨ÛØ±ÙÙÛ ÙÙ Ø¯Ø³ØªØ±Ø³Û Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ø¯. ا٠ا اÛÙ Ù ÙØ¶Ùع ÙÙØ· از Ø¯Ø§Ø®Ù Ø¨Ù Ø¨ÛØ±Ù٠کار Ù ÛâÚ©ÙØ¯. کد Ø¨ÛØ±Ù٠از ØªØ§Ø¨Ø¹Ø Ù ØªØºÛØ±ÙØ§Û Ù ØÙÛ Ø±Ø§ ÙÙ ÛâØ¨ÛÙØ¯.
- ÛÚ© تابع Ù
ÛâØªÙØ§Ùد ÛÚ© Ù
ÙØ¯Ø§Ø± را Ø¨Ø±Ú¯Ø±Ø¯Ø§ÙØ¯. در ØºÛØ± اÛÙ ØµÙØ±Øª Ù
ÙØ¯Ø§Ø±
undefinedرا بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯.
Ø¨Ø±Ø§Û ÙØ§Ø¨Ù ÙÙÙ Ù ØªÙ ÛØ² Ø¨ÙØ¯Ù Ú©Ø¯Ø ØªÙØµÛÙ Ù ÛâØ´ÙØ¯ از Ù ØªØºÛØ±ÙØ§Û Ù ØÙÛ Ù Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û تابع را Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛ٠تا Ù ØªØºÛØ±ÙØ§Û Ø¨ÛØ±ÙÙÛ.
ÙÙÙ ÛÚ© تابع Ú©Ù Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§ÛÛ Ø±Ø§ Ù ÛâÚ¯ÛØ±Ø¯ ٠با Ø¢ÙâÙØ§ کار Ù ÛâÚ©ÙØ¯ ٠سپس ÛÚ© Ø®Ø±ÙØ¬Û Ù ÛâØ¯ÙØ¯ ÙÙ ÛØ´Ù سادÙâØªØ± است تا ÛÚ© تابع Ú©Ù ÙÛÚ Ù¾Ø§Ø±Ø§Ù ØªØ±Û ÙÙ ÛâÚ¯ÛØ±Ø¯ ا٠ا Ù ØªØºÛØ±ÙØ§Û Ø¨ÛØ±ÙÙÛ Ø±Ø§ تغÛÛØ± Ù ÛâØ¯ÙØ¯.
ÙØ§Ù Ú¯Ø°Ø§Ø±Û ØªØ§Ø¨Ø¹:
- ÛÚ© ÙØ§Ù Ø Ø¨Ù Ø·ÙØ± ÙØ§Ø¶Ø ØªÙØ¶ÛØ Ù ÛâØ¯ÙØ¯ ک٠تابع ÚÙ Ú©Ø§Ø±Û Ø§ÙØ¬Ø§Ù Ù ÛâØ¯ÙØ¯. ÙÙØªÛ ØªØ§Ø¨Ø¹Û Ø¯Ø± کد صدا زد٠٠ÛâØ´ÙØ¯Ø ÛÚ© Ø§Ø³Ù Ø®ÙØ¨ Ø³Ø±ÛØ¹Ø§ باعث Ù ÛâØ´ÙØ¯ ٠ا Ù ØªÙØ¬Ù Ø´ÙÛÙ Ú©Ù ÚÙ Ú©Ø§Ø±Û Ù ÛâÚ©ÙØ¯ Ù ÚÙ ÚÛØ²Û را بر٠ÛâÚ¯Ø±Ø¯Ø§ÙØ¯.
- ÛÚ© ØªØ§Ø¨Ø¹Ø ÛÚ© ÙØ¹Ø§ÙÛØª Ø§Ø³ØªØ Ø¨ÙØ§Ø¨Ø±Ø§ÛÙ Ø§Ø³Ù ØªÙØ§Ø¨Ø¹ ع٠Ù٠ا Ø§ÙØ¹Ø§Ù Ø®Ø·Ø§Ø¨Û ÙØ³ØªÙد.
- Ù¾ÛØ´ÙÙØ¯ÙØ§Û Ø´ÙØ§Ø®ØªÙâØ´Ø¯ÙâÛ Ø²ÛØ§Ø¯Û Ø¨Ø±Ø§Û ØªÙØ§Ø¨Ø¹ ÙØ¬Ùد Ø¯Ø§Ø±ÙØ¯ Ù
اÙÙØ¯
createØshowØgetØcheck...Ù ØºÛØ±Ù. از Ø¢ÙÙØ§ Ø¨Ø±Ø§Û Ø§Ø´Ø§Ø±Ù Ú©Ø±Ø¯Ù Ø¨Ù Ø§ÛÙک٠تابع ÚÙ Ú©Ø§Ø±Û Ø§ÙØ¬Ø§Ù Ù ÛâØ¯ÙØ¯ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯.
ØªÙØ§Ø¨Ø¹Ø بÙÙÚ©âÙØ§Û اصÙÛ Ø³Ø§Ø®ØªÙ Ø§Ù ÛÚ© کد ÙØ³ØªÙد. ٠ا Ù Ø¨Ø§ØØ« پاÛÙâØ§Û Ø±Ø§ Ù¾ÙØ´Ø´ دادÛÙ Ø Ù¾Ø³ ØØ§Ùا Ù ÛâØªÙØ§ÙÛ٠آÙÙØ§ را بسازÛÙ Ù Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ . ا٠ا اÛ٠تÙÙØ§ Ø´Ø±ÙØ¹ را٠است. باز ب٠اÛÙ Ù Ø¨ØØ« Ø²ÛØ§Ø¯ باز Ø®ÙØ§ÙÛ٠گشت ٠در ÙÛÚÚ¯ÛâÙØ§Û Ù¾Ø´Ø±ÙØªÙâÛ Ø¢ÙÙØ§ دÙÛÙâØªØ± Ø®ÙØ§ÙÛ٠شد.
ÙØ¸Ø±Ø§Øª
<code>Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø Ø¨Ø±Ø§Û ÚÙØ¯Û٠خط â کد را درÙ٠تگ<pre>ÙØ±Ø§Ø± دÙÛØ¯Ø Ø¨Ø±Ø§Û Ø¨ÛØ´ از د٠خط کد â Ø§Ø² ÛÚ© جعبÙÙ Ø´ÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. (plnkrØ jsbinØ codepenâ¦)