نداء الوظائف جافا سكربت
- الصفحة السابقة م 参数 دالة JS
- الصفحة التالية دالة JS Call
سيتم تنفيذ الكود في الداخل وظيفة JavaScript عند إتصال "بشيء" بها.
استدعاء وظيفة JavaScript
عندما يتمتحديدعندما لا يتم
عندما يتمإتصالعندما، يتم تنفيذ الكود في الداخل وظيفة.
يمكن أيضًا القول إن استدعاء الوظيفة "إطلاق الوظيفة" أو "تنفيذ الوظيفة".
في هذا الدرس، نستخدم "إتصال.”
إتصال بالوظيفة كوظيفة
المثال
function myFunction(a, b) { return a * b; } myFunction(10, 2); // سيقوم بإرجاع 20
هذه الوظائف لا تنتمي لأي عنصر. ولكن في JavaScript، هناك دائمًا عنصر عالمي افتراضي.
في HTML، العنصر العالمي الافتراضي هو صفحة HTML نفسها، جميع الوظائف فوقها "تبدو" صفحة HTML.
في المتصفح، هذا العنصر المصفوفة هو نافذة المتصفح. تكون الوظيفة تلقائيًا وظيفة نافذة.
myFunction() و window.myFunction() هما نفس الدالة:
المثال
function myFunction(a, b) { return a * b; } window.myFunction(10, 2); // سيعود أيضًا 20
هذه هي طريقة شائعة لاستدعاء الدالة، ولكنها ليست عادة جيدة.
العناصر المتاحة والطرق أو الدوال في العنصر العام يمكن أن تتسبب في تضارب الأسماء والثغرات بسهولة.
this كلمة مفتاحية
في JavaScript، يُسمى this
شيء، يشير إلى العنصر الذي يمتلك هذا الكود.
this
قيمته، عند استخدامه في الدالة، هو العنصر الذي يمتلك الدالة.
لاحظ، this
ليس متغيرًا. إنه كلمة مفتاحية. لا يمكنك تغيير this
قيمته.
العنصر العام
عند استدعاء العنصر بدون مالك العنصر،this
قيمة تصبح العنصر العام.
في متصفح الويب، العنصر العام هو العنصر المتصفح.
هذا المثال يستخدم this
قيمة تعود هذا العنصر window:
المثال
var x = myFunction(); // x سيكون العنصر window function myFunction() { return this; }
استدعاء دالة كدالة عالمية، سيزيد من this
قيمة تصبح العنصر العام.
استخدام window كعنصر يمكن أن يجعل البرنامج ينهار بسهولة.
استدعاء الدالة كطريقة
في JavaScript، يمكنك تعريف الدالة كطريقة للعنصر.
في هذا المثال، يتم إنشاء عنصر (myObject) يحتوي على خصائص (firstName و lastName) ومETHOD (fullName):
المثال
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; } } myObject.fullName(); // سيعود "Bill Gates"
dالة fullName هي دالة. الدالة تنتمي إلى العنصر. myObject هو مالك الدالة.
يسمى this
شيء، هو "الملكية" للعنصر JavaScript هذا. في هذا المثال،this
قيمة هي myObject.
للإختبار! قم بتعديل هذه دالة fullName لتحقيق this
قيمة:
المثال
var myObject = { firstName: "Bill", lastName: "Gates", fullName: function () { return this; } } myObject.fullName(); // سيعود [object Object] (مثل الملكية للعنصر)
استدعاء الدالة كطريقة كائن سينتج عنه this
القيمة تصبح الجسم نفسه.
استدعاء الدالة من خلال بناء الدالة
إذا كان هناك كلمة مفتاحية قبل استدعاء الدالة، new
إذا كانت الكلمة المفتاحية هي، فإن هذا هو استدعاء بناء الدالة.
يبدو كأنك تقوم بإنشاء دالة جديدة، ولكن نظرًا لأن دوال JavaScript هي كائنات، فأنت في الواقع تقوم بإنشاء كائن جديد:
المثال
// هذا هو بناء الدالة: function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } // تم إنشاء جسم جديد: var x = new myFunction("Bill", "Gates"); x.firstName; // سيقوم بإرجاع "Bill"
استدعاء بناء الدالة سيقوم بإنشاء جسم جديد. سيتم استيراد الخصائص والأساليب من بناء الدالة إلى الجسم الجديد.
داخل بناء this
الكلمة المفتاحية ليس لها قيمة.
this
القيمة ستكون جسم جديد يتم إنشاؤه عند استدعاء الدالة.
- الصفحة السابقة م 参数 دالة JS
- الصفحة التالية دالة JS Call