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.");'
```