Ad
Self-invoking Function Inside DOMContentLoaded Event - Sense?
Since I want my JS to run only after DOMContentLoaded I do it like this:
document.addEventListener('DOMContentLoaded', function() {
//
});
Since I want to limit scope level and it's in general a good practice to enclose code into anonymous function, I do it like this:
(function() {
//
})();
So, does it make sense to write code like this?
document.addEventListener('DOMContentLoaded', function() {
(function() {
//
})();
});
Ad
Answer
The point of an Immediately Invoked Functional Expression is to provide namespacing to avoid polluting the global scope. Since document
is already a global variable it makes sense to put it outside like you did which will allow you to write more IIFEs in the same DOMContentLoaded
callback like this:
document.addEventListener('DOMContentLoaded', function() {
// IIFE 1
(function() {
})();
// IIFE 2
(function() {
})();
...
});
Ad
source: stackoverflow.com
Related Questions
- → How to update data attribute on Ajax complete
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → Octobercms Component Unique id (Twig & Javascript)
- → Passing a JS var from AJAX response to Twig
- → Laravel {!! Form::open() !!} doesn't work within AngularJS
- → DropzoneJS & Laravel - Output form validation errors
- → Import statement and Babel
- → Uncaught TypeError: Cannot read property '__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' of undefined
- → React-router: Passing props to children
- → ListView.DataSource looping data for React Native
- → Can't test submit handler in React component
- → React + Flux - How to avoid global variable
- → Webpack, React & Babel, not rendering DOM
Ad