I am new to JavaScript (coming from Java) and want to understand this function
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define(['../numeral'], factory);
} else if (typeof module === 'object' && module.exports) {
factory(require('../numeral'));
} else {
factory(global.numeral);
}
}
It's from this github page https://github.com/adamwdraper/Numeral-js/blob/master/src/formats/currency.js
My question is: Why isn't there a name for the function that takes global
and factory
as parameter ?
What I would expect is something like this:
function myFunction(p1, p2) {
return p1 * p2; // The function returns the product of p1 and p2
}
Here, we have the name myFunction
but in the above example, we don't have a name for the function. Why? And why is that allowed in JavaScript?