كشف المتغيرات الخاصة في الكشف عن نمط الوحدة النمطية
-
12-12-2019 - |
سؤال
أحاول تنفيذ نموذج الوحدة النمطية الكاشفة ولكني غير قادر على الكشف عن خاصية خاصة معدلة.
var myRevealingModule = (function(){
var name = 'Diogo';
function setName () {
name = name + ' Cardoso';
}
return {
fullName: name,
set: setName
};
}());
// Sample usage:
myRevealingModule.set();
console.log(myRevealingModule.fullName); // "Diogo" instead of the excepted "Diogo Cardoso".
المحلول
return {
fullName: name,
set: setName
};
يستخدم ذلك قيم ل name
و setName
.ولا يقوم بإنشاء مرجع إلى المتغير.على نحو فعال، name
يتم نسخها.
تحتاج إلى إنشاء المقابلة getName
طريقة للاستفادة من عمليات الإغلاق بحيث يمكنك الاحتفاظ بمرجع إلى متغير.
نصائح أخرى
giveacodicetagpre.
إذا كانت قيمتك سمة في كائن أو صفيف، فيمكنك تصدير الكائن أو الصفيف، وسيتم التصدير بالرجوع من ذلك، لذلك سيرى المستخدمون الخارجيون إجراء تغييرات محدثة.إنه محفوف بالمخاطر القليل منذ أن يحتوي النمط العام على المتغيرات المصدرة على نسخ / كائن نسخ / مرجع.
لا تنتمي إلى StackOverflow