Chers héros, je suis novice en js. J'étais récemment en train de concevoir un site Web simple et j'ai copié du code jq du site Web.
J'ai trouvé que le début de certains segments de code est $(function(){...}), alors je l'écrirai à l'intérieur de $(function(){...}) dans ce format, comme $(function( ){$('#denglu_submit').click(function(){...
Mais j'ai aussi vu qu'il n'y a pas de $(function(){}) dans certains extraits de code, mais directement $('#denglu_submit') .click(function(){...etc., je l'ai testé, et les deux semblent fonctionner. Donc je ne sais pas quelle est la différence ?
Si vous mettez les deux méthodes,
html
页面结构下面的话,写不写$(function(){})
都行,都是等到页面加载完后执行(别忘了html
sera analysé et chargé de haut en bas).Mais si vous les mettez tous dans la structure de la page, la différence sera grande.
$(function(){})
为网页加载完后执行,没有$(function(){})
直接写的话是按html页面从上到下的顺序执行,也就是是说如果js
Le temps d'exécution du code est relativement long (comme l'obtention d'une grande quantité de données), alors le contenu html suivant ne sera chargé et affiché qu'après. le js est exécuté. C'est évidemment déraisonnable. Vous devez d'abord laisser le contenu HTML s'afficher.Ainsi, lorsque nous écrivons du code, nous ajoutons généralement
$(function(){})
为好,这样就算js
S'il y a une erreur dans le code ou si son exécution prend beaucoup de temps, le contenu principal de la page peut être chargé sans affecter la navigation de l'utilisateur sur la page Web. Et il est préférable de placer le code sous la structure de la page pour garantir que la page est chargée complètement (après tout, le HTML est analysé et chargé dans l'ordre de haut en bas).Autres petites connaissances
$(function(){})
为网页加载完后执行,好像和原生js的window.onload = function() {}
La même chose, mais il y a une différence. Le premier est exécuté après le chargement de la structure (hors images), et le second est exécuté après le chargement de la structure (y compris les images).$(function(){}) Il s'agit de la logique interne qui est exécutée après le chargement du js et le chargement de la structure dom.
$('#denglu_submit').click(function(){...}) Ceci est exécuté après le chargement de js.
$(function(){...})
Le contenu ici est d'attendre que les nœuds de page ou les fichiers référencés soient chargés avant de s'exécuter. Cela garantit que les nœuds de page ont été chargés et que les nœuds correspondant aux sélecteurs sont également disponibles.$('#denglu_submit').click(function(){...})
,这个是等加载到这里的时候就执行了,执行的时候并不知道#denglu_submit
有没有加载到页面上。如果页面没有这个节点,那么对应的事件是没有反应的。你可以试着把这两段段代码都放到
head
Exécutez-le à l'intérieur et vous connaîtrez la différence !Connaissez-vous window.onload ? Ceci est exécuté plus tôt que onload
Tout d'abord, laissez-moi répondre. $ est le nom de la fonction. Par exemple :
De cette façon, définissez une fonction appelée $ et exécutez-la ; vous pouvez la tester vous-même
;Ensuite
Ici, un paramètre est passé dans la fonction $. Ce paramètre est une fonction anonyme (une fonction sans nom, également appelée fermeture
) ;Alors supposons
L'exécution finale est la même que ci-dessus, mais elle sera plus flexible. Vous pouvez y passer n'importe quelle fonction que vous souhaitez exécuter pour exécution ;
Et ici :
En fait, une chaîne '#denglu_submit' est transmise à la méthode $, puis une fonction anonyme est transmise à la fonction click dans $. La conception entière de la fonction est similaire à ceci :
.Bien sûr, jquery est nettement plus compliqué.