immediately invoked function expression
IIFE
immediately invoked function expression
( IIFE
) لتجميع الوظائف ذات الصلة في كائن واحد أو module
واحدة. على سبيل المثال ، حدد تحدٍ سابق اثنين من المزيج: وظيفة glideMixin (obj) {يمكننا تجميع هذه
obj.glide = function () {
console.log ("الانزلاق على الماء") ؛
}؛
}
وظيفة flyMixin (obj) {
obj.fly = function () {
console.log ("الطائر ، wooosh!") ؛
}؛
}
mixins
في وحدة نمطية على النحو التالي: let motionModule = (function () {لاحظ أن لديك
إرجاع {
glideMixin: function (obj) {
obj.glide = function () {
console.log ("الانزلاق على الماء") ؛
}؛
}،
flyMixin: وظيفة (obj) {
obj.fly = function () {
console.log ("الطائر ، wooosh!") ؛
}؛
}
}
}) ()؛ // يتسبب هذان القوسان في استدعاء الدالة على الفور
immediately invoked function expression
( IIFE
) تقوم بإرجاع كائن motionModule
. يحتوي هذا الكائن الذي تم إرجاعه على كافة سلوكيات mixin
كخصائص للكائن. وتتمثل ميزة نمط module
في إمكانية تجميع كل سلوكيات الحركة في كائن واحد يمكن استخدامه بعد ذلك بواسطة أجزاء أخرى من شفرتك. هنا مثال على ذلك استخدامه: motionModule.glideMixin (بطة)؛
duck.glide ()؛
module
اسمه funModule
التفاف اثنين من mixins
isCuteMixin
و singMixin
. يجب أن ترجع funModule
كائن. funModule
وإرجاع كائن.
testString: 'assert(typeof funModule === "object", "funModule
should be defined and return an object.");'
- text: funModule.isCuteMixin
يجب الوصول إلى وظيفة.
testString: 'assert(typeof funModule.isCuteMixin === "function", "funModule.isCuteMixin
should access a function.");'
- text: funModule.singMixin
يجب الوصول إلى وظيفة.
testString: 'assert(typeof funModule.singMixin === "function", "funModule.singMixin
should access a function.");'
```