تطوير المواقع الإلكترونية MEAN-Stack from A to Z الأساسيات Level1
function SayWelcome(){
document.write('Welcome user!!!');
}
SayWelcome();
function SayWelcome(userName){
document.write('Welcome ' + userName);
}
SayWelcome('Ahmed');
function SayWelcome(userName,userTime){
document.write('Welcome ' + userName + " your time now is: " + userTime);
}
SayWelcome('Ahmed', new Date());
function calc(no1,no2){
let result = no1 + no2;
return result;
}
document.write(calc(3,4));
let i = calc(5,3);
let x = calc(6,5) + 1;
let MyFunction = function(name = ''){
return 'Hi ' + name;
}
أيضا ممكن في حالة المتغير الرقمي نعطيه قيمة إفتراضية مثل :
let MyFunction = function(no = 0){
return no + 1;
}
let MyFunction = function(...names){
return names;
}
console.log(MyFunction('ahmed','omar','ali'));
الـ hoisting
و هو أحد الأساسيات الهامة المرتبطة بـ JS و يرتبط بالـ function في البداية ماهو الـ hoisting و ماذا يفعل ؟ من الترجمة الحرفية للكلمة و التي تعني رفع هو بالفعل يقوم بذلك, كنا قد تحدثنا من قبل عن المتغيرات و أنها ترتبط بعمليتين عملية الـ declaration و هي عملية تحديد المتغير و عملية الـ assign أو تعيين قبمة المتغيرمثل :
var x;
//الجملة السابقة بتقوم بعملية تحديد متغير يسمي x
x = 5;
//أما الجملة السابقة فتقوم بتحديد قيمة المتغير
//و يمكن أيضا دمج العملتين سويا في الجملة التالية
var x = 5;
في الطبيعي و المنطقي و في أغلب لغات البرمجة لا نستطيع أن نقوم بإستخدام متغير قبل تحديده
مثلا الكود التالي:
console.log(x);
var x = 5;
var x;
console.log(x);
x = 5;
MyFunction();
function MyFunction()
{
console.log('Hello!!');
}
function MyFunction()
{
console.log('Hello!!');
}
MyFunction();
console.log(x);
let x = 20;
let MyFunction= function(){
console.log('hello');
}
MyFunction();
MyFunction();
let MyFunction= function(){
console.log('hello');
}
function MyFunction()
{
console.log('Hello!!');
}
بينما استخدام الـ function مع let يسمي function expression أيضا يطلق علي عدة اشكال أخري من كتابة الـ functions
let MyFunction= function(){
console.log('hello');
}
document.write(MyFunction);
و تكون النتيجة كتابة function(){ console.log('hello'); } في الصفحة
function MyFunction(z){
var y =0;
let x = 1;
}
console.log(y);
console.log(x);
console.log(z);
var y =10;
let x = 11;
let z=0;
function MyFunction(z){
var y =0;
let x = 1;
}
console.log(y);
console.log(x);
console.log(z);
var y =10;
function MyFunction(){
console.log(y);
}
var y =10;
function MyFunction(){
console.log(y);
}
الـ self invoke function
أيضا يمكن كتابة function و عمل invoke لها في نفس الوقت و هي نوع من أنواع الـ expression functions تسمي الـ self invoke function مثل الكود التالي:
(function (){
console.log('hi JS')
})();
الـ arrow function
من أنواع الـ expression functions و أضيفت حديثا للتسهيل حيث يمكن كتابتها كالمثال التالي:
let MyFunction = ()=>{
return 1;
};
console.log(MyFunction());
let MyFunction = _ =>{
return 1;
};
console.log(MyFunction());
let MyFunction = myParam =>{
return myParam + " hello";
};
console.log(MyFunction('lets say'));
let MyFunction = (myParam,param2) =>{
return myParam + " hello " + param2;
};
console.log(MyFunction('lets say', 'world'));
let MyFunction = (myParam) => myParam + ' hello world';
console.log(MyFunction('lets say'));
let MyFunction = _ => ' hello world';
console.log(MyFunction());


