Improve JS performance with $.noop
– comments
Just a simple tip that you might not be aware of - if you have an empty, anonymous function in your code like this:
1 | { foo: function(){} } |
and you’re using jQuery, you can use $.noop
(docs) instead:
1 | { foo: $.noop } |
It’s a little shorter, but are there any other advantages? There are indeed. Say you have a plugin which creates a widget, with an onClick
callback:
1 2 3 | $.fn.myWidget.defaults = { onClick: function() {} } |
A new anonymous function will be created every time you instantiate a widget. If you’re dealing with hundreds or thousands of instances those extraneous functions add unnecessary overhead, slowing things down. If instead we use $.noop
:
1 2 3 | $.fn.myWidget.defaults = { onClick: $.noop } |
We’re reusing a single empty function over and over, rather than creating a new one each time. For more info, take a look this Stackoverflow question.