Qu'est ce que 'typeof define ===' function '&& define ' used for?

Quel est le but du code suivant? Que fait la fonction d'usine ici? Ici, la racine est l'objet fenêtre. Est-ce que Factory est une fonction de script java par défaut? Dans quel type de scénario, ce type de code peut être utilisé. Ce code provient de toggle.js de Simon Tabor . Zepto et ender sont des bibliothèques. Est-ce que cela est surtout utilisé dans les bibliothèques.

if (typeof define === 'function' && define['amd']) { define(['jquery'], factory); } else { factory(root['jQuery'] || root['Zepto'] || root['ender'] || root['$']|| $); } 

Ce code vérifie la présence de require.js , une bibliothèque de gestion de dépendance JavaScript.

Si 'define' n'est pas indéfini et c'est une fonction et 'amd' (définition de module asynchrone) est également définie alors le code suppose que require.js est en jeu.

Si c'est le cas, il définit 'factory' et passe jQuery en tant que dépendance. Sinon, il configure les dépendances dont le code a besoin en les attachant à l'objet racine.

En ce qui concerne ce que 'factory' est: il n'est pas défini par le framework Javascript, il sera probablement une fonction dans le même fichier. Il prend le paramètre jQuery.