ما هو (وظيفة ($)) للفي موتولز جافا سكريبت
-
05-07-2019 - |
سؤال
وكنت أقرأ وظيفة من قبل ديفيد وولش على إنشاء قائمة العفريت مع موتولز . أنا جديدة إلى حد ما موتولز، وأنا لم أفهم الطريقة التي افتتح السيناريو له. على وجه الخصوص، ما هو
(function($){
..
})(document.id)
هل هو نوع من إغلاق JS؟
وهنا هو السيناريو الكامل إذا كنت لا تريد أن تتبع الرابط:
(function($) {
window.addEvent('domready',function() {
$('nav').getElements('li').each(function(li) {
//settings
var link = li.getFirst('a');
//fix background image
if(!li.hasClass('current')) {
link.setStyle('background-image','none');
}
//utility div
var div = new Element('div',{
'class': 'nav-' + li.get('id'),
opacity: 0
}).inject(li);
//background imagery
li.addEvents({
mouseenter: function() {
div.fade('in');
},
mouseleave: function() {
div.fade('out');
},
mousedown: function() {
div.addClass('nav-' + li.get('id') + '-click');
},
mouseup: function() {
div.removeClass('nav-' + li.get('id') + '-click');
}
});
});
});
})(document.id);
المحلول
(function($){
..
})(document.id)
إذا كنت وضعت وظيفة داخل ()، وجافا سكريبت سيتم تنفيذ هذه المهمة تلقائيا. بإضافة (document.id) وقال انه يمر أيضا معلمة إلى تلك الوظيفة. على سبيل المثال ..
(function(message){
alert(message);
})( 'Hello World!' );
هل تنبيه مرحبا العالم!
نصائح أخرى
وويعهد document.id
(وظيفة التي تم إنشاؤها بواسطة موتولز) إلى متغير محلي (المسمى "$") من نطاق وظيفة غير معروفة ل.
وانها وظيفة مغلقة تنفيذ السيارات باستخدام موتولز "الوضع الآمن الدولار".
لا تنتمي إلى StackOverflow