ÙÙ Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت ÙØ¥Ù Ø§ÙØ¯Ùا٠ÙÙØ³Øª بÙÙØ© Ø³ØØ±ÙØ© ÙÙØºØ© ÙÙÙÙÙØ§ ÙÙØ¹ خاص ٠٠اÙÙÙÙ .
Ø§ÙØ·Ø±ÙÙØ© Ø§ÙØªÙ Ø§Ø³ØªØ®Ø¯Ù ÙØ§Ùا سابÙÙØ§ تس٠٠Function Declaration:
function sayHi() {
alert("Hello");
}
ÙÙØ§Ù طرÙÙØ© Ø£Ø®Ø±Ù ÙØ¹Ù Ù Ø¯Ø§ÙØ© ÙØªØ³Ù Ù Function Expression.
ÙØ§ÙتاÙÙ:
let sayHi = function () {
alert("Hello");
};
ÙÙØ§ تÙ
عÙ
Ù Ø§ÙØ¯Ø§ÙØ© ÙØªØ®Ø²ÙÙÙØ§ ÙÙ Ù
ØªØºÙØ± Ù
ث٠أ٠ÙÙÙ
Ø© أخر٠ÙÙØ§ ÙÙÙ
ÙÙ٠تÙ
تعرÙÙÙØ§. ÙÙ ÙÙØ· تخز٠ÙÙ Ù
ØªØºÙØ± اسÙ
Ù sayHi.
Ù
عÙÙ ÙØ°Ø§ اÙÙÙØ¯ ÙØ§ÙآتÙ: âØ¥ÙØ´Ø¦ Ø¯Ø§ÙØ©ÙØ¶Ø¹ÙØ§ Ù٠اÙÙ
ØªØºÙØ± sayHiâ.
ÙÙ
ÙÙÙØ§ ØØªÙ طباعة ÙØ°Ù اÙÙÙÙ
Ø© باستخداÙ
alert:
function sayHi() {
alert( "Hello" );
}
alert( sayHi ); // ÙØ¹Ø±Ø¶ ÙÙØ¯ Ø§ÙØ¯Ø§ÙØ©
ÙØ§ØØ¸ أ٠آخر سطر ÙØ§ ÙÙÙÙ
بتÙÙÙØ° Ø§ÙØ¯Ø§ÙØ© ÙØ¹Ø¯Ù
ÙØ¬Ùد ÙÙØ³Ù٠بعد sayHi. ÙÙØ§Ù ÙØºØ§Øª برÙ
جة ØÙØ« ÙÙ
ÙÙ٠استدعاء Ø§ÙØ¯Ø§ÙØ© بÙ
جرد Ø°ÙØ± اسÙ
ÙØ§ ÙÙÙÙ Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت ÙÙØ³Øª Ù
ÙÙÙ
.
ÙÙ Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت Ø§ÙØ¯Ø§ÙØ© ÙÙ ÙÙÙ Ø© ÙØ°ÙÙ ÙÙ ÙÙÙØ§ Ù Ø¹Ø§Ù ÙØªÙا ٠ث٠أ٠ÙÙÙ Ø© ÙØ§ÙÙÙØ¯ Ø¨Ø§ÙØ£Ø¹ÙÙ ÙØ¹Ø±Ø¶ ÙØµ ب٠اÙÙÙØ¯ Ø§ÙØ®Ø§Øµ Ø¨ÙØ§
Ø¨Ø§ÙØªØ£ÙÙØ¯ ÙÙ ÙÙÙ
Ø© Ù
Ù ÙÙØ¹ خاص ØÙØ« ÙÙ
ÙÙ Ø§Ø³ØªØ¯Ø¹Ø§Ø¦ÙØ§ sayHi().
ÙÙÙÙØ§ ÙØ§ تزا٠ÙÙÙ Ø© ÙÙ ÙÙÙØ§ Ø§ÙØªØ¹Ø§Ù Ù Ù Ø¹ÙØ§ ÙØ£Ù ÙÙÙ Ø© أخرÙ.
ÙÙ ÙÙÙØ§ ÙØ³Ø® Ø§ÙØ¯Ø§ÙØ© ÙÙ ØªØºÙØ± آخر:
function sayHi() {
// (1) create
alert("Hello");
}
let func = sayHi; // (2) copy
func(); // Hello // (3) run the copy (it works)!
sayHi(); // Hello // this still works too (why wouldn't it)
ÙØ°Ù ØªÙØ§ØµÙ٠٠ا ØØ¯Ø«:
- تعرÙÙ Ø§ÙØ¯Ø§ÙØ©
(1)ÙÙØ´Ø¦ Ø¯Ø§ÙØ© ÙÙØ¶Ø¹Ùا ÙÙ Ù ØªØºÙØ± اس٠ÙsayHi. - Ø§ÙØ³Ø·Ø±
(2)ÙÙØ³Ø®Ùا Ø¥ÙÙ Ù ØªØºÙØ± اس٠Ùfunc. ÙØ§ØØ¸ Ø¹Ø¯Ù ÙØ¬Ùد Ø£ÙÙØ§Ø³ بعدsayHi. إذا ÙØ¬Ø¯Øª Ø§ÙØ£ÙÙØ§Ø³func = sayHi()Ø³ÙØªÙ ÙØ¶Ø¹ ÙØªÙجة تÙÙÙØ°sayHi()داخÙfuncÙÙÙØ³ Ø§ÙØ¯Ø§ÙØ©sayHiÙÙØ³Ùا. - Ø§ÙØ¢Ù ÙÙ
ÙÙÙØ§ استدعاء Ø§ÙØ¯Ø§ÙØ© ع٠طرÙÙ
sayHi()Ø£Ùfunc().
ÙØ§ØØ¸ Ø£ÙÙ ÙÙ
ÙÙÙØ§ استخداÙ
Function Expression ÙØªØ¹Ø±ÙÙ sayHi ÙÙ Ø§ÙØ³Ø·Ø± Ø§ÙØ£ÙÙ:
let sayHi = function () {
alert("Hello");
};
let func = sayHi;
// ...
Ù٠شئ ÙØ¹Ù ٠بÙÙØ³ Ø§ÙØ·Ø±ÙÙØ©.
رب٠ا تتسائ٠Ù٠اذا ÙÙØ¬Ø¯ ÙØ§ØµÙØ© Ù ÙÙÙØ·Ø© ÙÙ ÙÙØ§ÙØ© Function Expression ÙÙØ§ ÙÙØ¬Ø¯ ٠ع Function Declaration:
function sayHi() {
// ...
}
let sayHi = function() {
// ...
};
Ø§ÙØ¥Ø¬Ø§Ø¨Ø© Ø¨Ø³ÙØ·Ø©:
- ÙØ§ ØØ§Ø¬Ø© ÙÙÙØ§ØµÙØ© اÙÙ
ÙÙÙØ·Ø©
;ÙÙ ÙÙØ§ÙØ© code blocks ÙØ§ÙÙÙØ§Ù٠اÙÙ Ø´Ø§Ø¨ÙØ© Ù Ø«Ùif { ... },for { },function f { }Ø§ÙØ®. - ÙØªÙ
استخداÙ
Function Expression Ø¯Ø§Ø®Ù Ø§ÙØªØ¹Ø¨Ùر:
let sayHi = ...;ÙÙÙÙ Ø© ÙÙÙØ³ code block. ÙÙØ¶Ù استخدا٠اÙÙØ§ØµÙØ© اÙÙ ÙÙÙØ·Ø©;ÙÙ ÙÙØ§ÙØ© Ø§ÙØªØ¹Ø¨Ùرات Ù Ù٠ا ÙØ§Ùت اÙÙÙÙ Ø©. ÙØ°ÙÙ ÙØ§ÙÙØ§ØµÙØ© اÙÙ ÙÙÙØ·Ø© ÙÙØ§ ÙØ§ تخص Function Expression ÙÙØ³Ù ÙÙÙÙÙØ§ ÙÙØ· تÙÙÙ Ø§ÙØªØ¹Ø¨Ùر.
Callback functions
Ø¯Ø¹ÙØ§ ÙØ±Ù ٠ثا٠عÙÙ ØªÙ Ø±ÙØ± Ø§ÙØ¯Ø§ÙØ© ÙÙÙÙ Ø©.
سÙÙÙÙ
Ø¨ÙØªØ§Ø¨Ø© Ø§ÙØ¯Ø§ÙØ© ask(question, yes, no) Ø¨Ø«ÙØ§Ø«Ø© Ù
عاÙ
ÙØ§Øª:
question- ÙØµ Ø§ÙØ³Ø¤Ø§Ù
yes- Ø¯Ø§ÙØ© ÙØªÙ تÙÙÙØ°Ùا إذا ÙØ§Ùت Ø§ÙØ¥Ø¬Ø§Ø¨Ø© âYesâ
no- Ø¯Ø§ÙØ© ÙØªÙ تÙÙÙØ°Ùا إذا ÙØ§Ùت Ø§ÙØ¥Ø¬Ø§Ø¨Ø© âNoâ
Ø§ÙØ¯Ø§ÙØ© ستسأ٠سؤا٠question ÙØ¨ÙØ§Ø¡ÙØ§ عÙÙ Ø¬ÙØ§Ø¨ اÙÙ
ستخدÙ
ستÙÙØ° yes() Ø£Ù no():
function ask(question, yes, no) {
if (confirm(question)) yes()
else no();
}
function showOk() {
alert( "You agreed." );
}
function showCancel() {
alert( "You canceled the execution." );
}
// Ø§ÙØ§Ø³ØªØ®Ø¯Ø§Ù
: Ø§ÙØ¯Ùا٠showOk, showCancel ÙØªÙ
تÙ
Ø±ÙØ±ÙÙ
ÙÙ
عاÙ
ÙØ§Øª ÙÙØ¯Ø§ÙØ© ask
ask("Do you agree?", showOk, showCancel);
ÙØ°Ù Ø§ÙØ¯Ùا٠Ù
ÙÙØ¯Ø© Ø¥ÙÙ ØØ¯ Ù
ا. اÙÙØ±Ù Ø§ÙØ£Ø³Ø§Ø³Ù بÙÙ ask Ù٠اÙÙØ§Ùع ÙØ§ÙÙ
Ø«Ø§Ù Ø§ÙØ³Ø§Ø¨Ù Ù٠أ٠Ù٠اÙÙØ§Ùع ÙØªÙ
استخداÙ
Ø·Ø±Ù Ø£ÙØ«Ø± تعÙÙØ¯Ùا ÙÙØªØ¹Ø§Ù
Ù Ù
ع اÙÙ
ستخدÙ
بدÙÙØ§ Ù
Ù Ù
جرد confirm. ربÙ
ا ÙØªÙ
رسÙ
ÙØ§Ùذة سؤا٠بشÙÙ ÙØ·ÙÙ ÙÙÙÙ ÙØ°Ù ÙØµØ© أخرÙ.
اÙÙ
عاÙ
ÙØ§Øª showOk Ù showCancel Ø§ÙØ®Ø§ØµÙ٠ب ask ÙØ³Ù
ÙÙ callback functions Ø£Ù ÙÙØ· callbacks.
اÙÙÙØ±Ø© Ù٠أÙÙØ§ ÙÙÙÙ
بتÙ
Ø±ÙØ± Ø¯Ø§ÙØ© ÙÙØªÙÙØ¹ Ø£Ù ÙØªÙ
Ø§Ø³ØªØ¯Ø¹Ø§Ø¦ÙØ§ ÙØ§ØÙÙØ§ إذا ÙØ²Ù
Ø§ÙØ£Ù
ر. ÙÙÙ ØØ§ÙØªÙØ§ ÙØ¥Ù showOk ØªØµØ¨Ø Ø±Ø¯ عÙÙ Ø§ÙØ¥Ø¬Ø§Ø¨Ø© âyesâ answer Ù showCancel ÙÙØ¥Ø¬Ø§Ø¨Ø© ânoâ.
ÙÙ Ù٠استخدا٠Function Expressions ÙÙØªØ§Ø¨Ø© ÙÙØ³ Ø§ÙØ¯Ø§ÙØ© بشÙÙ Ø£ÙØµØ±:
function ask(question, yes, no) {
if (confirm(question)) yes()
else no();
}
ask(
"Do you agree?",
function() { alert("You agreed."); },
function() { alert("You canceled the execution."); }
);
ÙÙØ§ تÙ
تعرÙÙ Ø§ÙØ¯Ùا٠داخ٠استدعاء ask(...). ÙÙØ³ ÙØ¯ÙÙÙ
أسÙ
اء ÙÙØ³Ù
ÙÙ anonymous. ÙÙØ°Ù Ø§ÙØ¯ÙØ§Ù ÙØ§ ÙÙ
Ù٠اÙÙØµÙ٠إÙÙÙØ§ خارج ask (ÙØ£ÙÙ ÙÙ
ÙØªÙ
تخزÙÙÙÙ
ÙÙ Ù
ØªØºÙØ±Ø§Øª) ÙÙÙÙ ÙØ°Ø§ ÙÙ Ù
ا ÙØØªØ§Ø¬Ù ÙÙØ§.
ÙÙØ¯ Ù Ø«Ù ÙØ°Ø§ ÙØ¸Ùر ÙÙ Ø¨Ø±Ø§Ù Ø¬ÙØ§ بشÙÙ Ø·Ø¨ÙØ¹Ù. Ø¥ÙÙ ÙÙ Ø±ÙØ Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت.
اÙÙÙÙ Ø§ÙØ¹Ø§Ø¯ÙØ© Ù Ø«Ù Ø§ÙØ£Ø±ÙØ§Ù ÙØ§ÙÙØµÙص ØªÙ Ø«Ù Ø¨ÙØ§Ùات.
ÙÙÙ ÙÙ Ù٠اعتبار Ø§ÙØ¯Ø§ÙØ© Ø£ÙÙØ§ ØªÙ Ø«Ù ØØ¯Ø«.
ÙÙ ÙÙÙØ§ ØªÙ Ø±ÙØ±Ùا بÙ٠اÙÙ ØªØºÙØ±Ø§Øª ÙØªÙÙÙØ°Ùا ØÙث٠ا ÙØ´Ø§Ø¡.
Function Expression vs Function Declaration
Ø¯Ø¹ÙØ§ ÙÙØ¶Ø اÙÙØ±Ù بÙÙ Function Declarations Ù Expressions.
Ø£ÙÙØ§ طرÙÙØ© اÙÙØªØ§Ø¨Ø©: ÙÙÙ ØªÙØ±Ù بÙÙÙÙ Ù٠اÙÙÙØ¯.
-
Function Declaration: ÙØªÙ تعرÙÙ Ø§ÙØ¯Ø§ÙØ© ÙØ¬Ø²Ø¡ Ù ÙÙØµÙ ÙÙ Ø³Ø±ÙØ§Ù Ø§ÙØ¨Ø±Ùا٠ج.
// Function Declaration function sum(a, b) { return a + b; } -
Function Expression: ÙØªÙ Ø¥ÙØ´Ø§Ø¡ Ø§ÙØ¯Ø§ÙØ© Ø¯Ø§Ø®Ù ØªØ¹Ø¨ÙØ± أ٠جزء آخر. ÙÙØ§ ØªÙ Ø¥ÙØ´Ø§Ø¡ Ø§ÙØ¯Ø§ÙØ© ÙÙ Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ£ÙÙ Ù Ù Ù âassignment expressionâ
=:// Function Expression let sum = function (a, b) { return a + b; };
اÙÙØ±Ù Ø§ÙØ£Ùثر Ø£ÙÙ ÙØ© Ù٠٠ت٠ÙÙÙÙ JavaScript engine Ø¨Ø¥ÙØ´Ø§Ø¡ ÙÙ Ù ÙÙ٠ا.
ÙØªÙ Ø¥ÙØ´Ø§Ø¡ Function Expression Ø¹ÙØ¯Ù ا ÙØµÙ ÙÙØ§ Ø§ÙØªÙÙÙØ°.
Ø¹ÙØ¯Ù
ا ÙØµÙ Ø§ÙØªÙÙÙØ° Ø¥ÙÙ Ø§ÙØ¬Ø²Ø¡ Ø§ÙØ£ÙÙ
Ù Ù
٠عÙ
ÙÙØ© Ø§ÙØªØ®ØµÙص let sum = function⦠â ÙÙ
Ù ÙÙØ§ ÙÙ
ÙÙÙØ§ استخداÙ
Ø§ÙØ¯Ø§ÙØ© (assigned, called, etc. ) .
Function Declarations تÙÙ٠٠ختÙÙØ©.
ÙÙ Ù٠استدعاء Function Declaration ÙØ¨Ù تعرÙÙÙØ§.
عÙ٠سبÙ٠اÙÙ Ø«Ø§Ù ÙØ¥Ù تعرÙÙ Function Declaration عÙ٠اÙ٠ستÙÙ Ø§ÙØ¹Ø§ÙÙ Ù ÙØ¬Ø¹ÙÙØ§ Ù Ø±Ø¦ÙØ© ÙÙ ÙÙ Ø§ÙØ¨Ø±Ùا٠ج ÙÙØ§ ÙÙ٠٠٠أÙÙ ÙØ³ØªØ®Ø¯Ù ÙØ§.
ÙÙÙÙØ§ ÙØ®ÙØ§Ø±Ø²Ù ÙØ§Øª داخÙÙØ© ÙØ¹Ùد٠ا تÙÙÙ Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت Ø¨Ø§ÙØªØ¬ÙÙØ² ÙØªÙÙÙØ° Ø§ÙØ¨Ø±Ùا٠ج ÙÙÙ ØªØ¨ØØ« ع٠Function Declarations Ø§ÙØ¹Ø§ÙÙ ÙØ© ÙØªÙÙÙ Ø¨Ø¥ÙØ´Ø§Ø¡ ÙØ°Ù Ø§ÙØ¯ÙØ§Ù ÙØ®Ø·ÙØ© Ù٠٠رØÙØ© Ø§ÙØªÙÙØ¦Ø© initialization stage.
ÙØ¨Ø¹Ø¯ Ø§ÙØ¥ÙØªÙØ§Ø¡ Ù Ù Ø¥ÙØ´Ø§Ø¡ ÙÙ Ø§ÙØ¯ÙØ§Ù ÙØ¨Ø¯Ø£ تÙÙÙØ° Ø§ÙØ¨Ø±Ùا٠ج ÙÙÙØ°Ø§ ÙÙ ÙÙÙØ§ Ø§Ø³ØªØ®Ø¯Ø§Ù Ø§ÙØ¯ÙاÙ.
ÙØ°Ø§ اÙÙ Ø«Ø§Ù Ø³ÙØ¹Ù Ù Ø¬ÙØ¯Ùا:
sayHi("John"); // Hello, John
function sayHi(name) {
alert( `Hello, ${name}` );
}
تعرÙÙ Ø§ÙØ¯Ø§ÙØ© sayHi ÙØªÙ
Ø¹ÙØ¯Ù
ا تÙÙÙ
Ø¬Ø§ÙØ§ Ø³ÙØ±Ùبت Ø¨Ø§ÙØªØ¬ÙÙØ² ÙØªÙÙÙØ° Ø§ÙØ¨Ø±ÙاÙ
ج ÙÙÙÙÙ Ù
ØªØ§Ø Ù٠أ٠Ù
ÙØ§Ù.
â¦ÙÙÙÙ ÙÙ ÙØ§Ùت Function Expression ÙÙ٠تع٠Ù:
sayHi("John"); // error!
let sayHi = function(name) { // (*) no magic any more
alert( `Hello, ${name}` );
};
ÙØªÙ
Ø¥ÙØ´Ø§Ø¡ Function Expressions Ø¹ÙØ¯Ù
ا ÙØµÙ ÙÙØ§ Ø§ÙØªÙÙÙØ° Ø£Ù ÙÙ Ø§ÙØ³Ø·Ø± (*). ÙÙØ°Ø§ Ù
تأخر Ø¯ÙØ§.
Ù ÙØ²Ø© أخر٠٠Function Declarations Ù٠٠جاÙÙÙ Ø§ÙØ®Ø§Øµ.
ÙÙ strict mode Ø¹ÙØ¯Ù ا ÙØªÙ ÙØ¶Ø¹ Function Declaration داخ٠جزء ٠٠اÙÙÙØ¯ ÙØªÙÙÙ Ù ØªØ§ØØ© ÙÙØ· بداخÙÙ ÙØºÙر Ù ØªØ§ØØ© خارجÙ.
Ø¯Ø¹ÙØ§ ÙÙØªØ±Ø¶ Ø£ÙÙØ§ ÙØ±Ùد عÙ
Ù Ø§ÙØ¯Ø§ÙØ© welcome() Ø¨ÙØ§Ø¡Ùا عÙÙ ÙÙÙ
Ø© اÙÙ
ØªØºÙØ± age Ø§ÙØªÙ ÙØØµÙ Ø¹ÙÙÙØ§ ÙÙØª Ø§ÙØªÙÙÙØ°. ÙÙØ®Ø·Ø· ÙØ§Ø³ØªØ®Ø¯Ø§Ù
ÙØ§ ÙÙ ÙÙØª ÙØ§ØÙ.
إذا Ø§Ø³ØªØ®Ø¯Ù ÙØ§ Function Declaration Ù٠تع٠٠Ù٠ا Ù٠٠تÙÙØ¹:
let age = prompt("What is your age?", 18);
// conditionally declare a function
if (age < 18) {
function welcome() {
alert("Hello!");
}
} else {
function welcome() {
alert("Greetings!");
}
}
// ...use it later
welcome(); // Error: welcome is not defined
ÙØ°Ø§ ÙØ£Ù Function Declaration Ù ØªØ§ØØ© ÙÙØ· ÙÙ code block Ø§ÙØ°Ù ت٠تعرÙÙÙØ§ بداخÙÙ.
٠ثا٠آخر:
let age = 16; // take 16 as an example
if (age < 18) {
welcome(); // \ (runs)
// |
function welcome() { // |
alert("Hello!"); // | Function Declaration is available
} // | everywhere in the block where it's declared
// |
welcome(); // / (runs)
} else {
function welcome() {
alert("Greetings!");
}
}
// ÙÙØ§ خارج Ø§ÙØ£ÙÙØ§Ø³ اÙÙ
عÙÙÙØ©
// ÙØ°Ø§ ÙØ§ ÙÙ
ÙÙÙØ§ استخداÙ
Ø§ÙØ¯Ùا٠اÙÙ
Ø¹Ø±ÙØ© بداخÙÙØ§.
welcome(); // Error: welcome is not defined
Ù
اذا ÙÙ
Ù٠أ٠ÙÙØ¹Ù ÙØ¬Ø¹Ù welcome Ù
ØªØ§ØØ© خارج if?
Ø§ÙØ·Ø±ÙÙØ© Ø§ÙØµØÙØØ© ستÙÙ٠استخداÙ
Function Expression ÙÙØ¶Ø¹ welcome داخ٠Ù
ØªØºÙØ± خارج if ÙÙ
Ù٠اÙÙØµÙ٠إÙÙÙ.
Ù٠ا ÙØ¹ÙÙØ§ ÙÙØ§:
let age = prompt("What is your age?", 18);
let welcome;
if (age < 18) {
welcome = function() {
alert("Hello!");
};
} else {
welcome = function() {
alert("Greetings!");
};
}
welcome(); // ok now
ÙÙ
ÙÙÙØ§ ØªØ¨Ø³ÙØ·Ùا باستخداÙ
Ø§ÙØ¹Ø§Ù
Ù Ø§ÙØ´Ø±Ø·Ù ?:
let age = prompt("What is your age?", 18);
let welcome = (age < 18) ?
function() { alert("Hello!"); } :
function() { alert("Greetings!"); };
welcome(); // ok now
Ø¹ÙØ¯Ù ا ÙØ±Ùد Ø¹Ù Ù Ø¯Ø§ÙØ© ÙØ£Ù٠٠ا ÙØ¬Ø¨ Ø£Ù ÙÙÙØ± ÙÙÙ ÙÙ Function Declaration ÙÙÙ ÙØ¹Ø·ÙÙØ§ ØØ±ÙØ© Ø£ÙØ«Ø± ÙØªÙظÙ٠اÙÙÙØ¯ ÙØ£Ù ÙÙ ÙÙÙØ§ Ø§Ø³ØªØ®Ø¯Ø§Ù Ø§ÙØ¯Ø§ÙØ© ÙØ¨Ù تعرÙÙÙØ§.
ÙÙØ°Ø§ Ø£ÙØ¶Ù Ù
Ù ÙØ§ØÙØ© ÙØ±Ø§Ø¡Ø© اÙÙÙØ¯ ÙÙ
Ù Ø§ÙØ£Ø³ÙÙ Ù
ÙØ§ØØ¸Ø© function f(â¦) {â¦} ع٠let f = function(â¦) {â¦};â¦
â¦ÙÙÙ٠إذا ÙØ§Ù Function Declaration ØºÙØ± Ù ÙØ§Ø³Ø¨ ÙØ³Ø¨Ø¨ ٠ا Ø£Ù ÙØ±Ùد تعرÙÙ Ø¯Ø§ÙØ© Ø¨ÙØ§Ø¡Ùا عÙ٠شرط ٠عÙÙ Ù٠ا رأÙÙØ§ سابÙÙØ§ ÙØ¹ÙØ¯ÙØ§ ÙØ¬Ø¨ استخدا٠Function Expression.
Ù ÙØ®Øµ
- Ø§ÙØ¯Ùا٠ÙÙ ÙÙÙ ÙÙ Ù٠تخزÙÙÙØ§ ÙÙØ³Ø®Ùا ÙØªØ¹Ø±ÙÙÙØ§ ÙÙ Ø£Ù Ù ÙØ§Ù.
- إذا ت٠تعرÙÙ Ø§ÙØ¯Ø§ÙØ© ÙØ¬Ø²Ø¡ Ù ÙÙØµÙ ÙÙ Ø§ÙØ¨Ø±Ùا٠ج ÙØªØ³Ù Ù âFunction Declarationâ.
- ÙØ¥Ø°Ø§ ت٠تعرÙÙÙØ§ ÙØ¬Ø²Ø¡ Ù Ù ØªØ¹Ø¨ÙØ± ٠عÙÙ ÙØªØ³Ù Ù âFunction Expressionâ.
- Function Declarations ÙØªÙ ع٠ÙÙØ§ ÙØ¨Ù تÙÙÙØ° اÙÙÙØ¯ ÙØªÙÙÙ Ù ØªØ§ØØ© ÙÙ Ø£Ù Ù ÙØ§Ù بداخÙÙ.
- Function Expressions ÙØªÙ Ø¥ÙØ´Ø§Ø¡Ùا Ø¹ÙØ¯Ù ا ÙØµÙ Ø§ÙØªÙÙÙØ° Ø¥ÙÙÙØ§.
ÙÙ Ù Ø¹Ø¸Ù Ø§ÙØØ§ÙØ§Øª Ø¹ÙØ¯Ù ا ÙØ±Ùد Ø¹Ù Ù Ø¯Ø§ÙØ© ÙÙØ¶Ù استخدا٠Function Declaration ÙØ£ÙÙ ÙÙÙÙ Ù ØªØ§Ø ÙØ¨Ù Ø§ÙØªØ¹Ø±ÙÙ ÙÙØ³Ù. ÙÙØ°Ø§ ÙØ¹Ø·ÙÙØ§ ٠رÙÙØ© Ø£ÙØ«Ø± ÙÙ Ø§ÙØ¨Ø±Ùا٠ج.
ÙØ¬Ø¨ استخدا٠Function Expression ÙÙØ· Ø¹ÙØ¯Ù ا ÙÙÙÙ Function Declaration ØºÙØ± Ù ÙØ§Ø³Ø¨. ÙÙÙØ¯ رأÙÙØ§ Ø£Ù Ø«ÙØ© Ø¹Ø¯ÙØ¯Ø© ÙÙØ§ ÙØ³ÙØ±Ù Ø£ÙØ«Ø± Ù٠اÙÙ Ø³ØªÙØ¨Ù.
Ø§ÙØªØ¹ÙÙÙØ§Øª
<code>Ø ÙÙÙÙØ«Ùر Ù Ù Ø§ÙØ³Ø·Ùر استخدÙ<pre>Ø ÙÙØ£Ùثر Ù Ù 10 Ø³Ø·ÙØ± استخد٠(plnkr, JSBin, codepenâ¦)