var itemClassName = "carousel__photo"; items = d.getElementsByClassName(itemClassName), totalItems = items.length, slide = 0, moving = true;Vi esta parte del código en el sitio web medium.com mientras creaba un carrusel de reseñas. ¿Cómo declararon esta variable? No puedo entender esta declaración y usan d en lugar de document ¿cómo? ¿y por qué? Soy un principiante ... si necesita más información, visite el sitio medium.com .bcuz de su claridad, solo agregué la parte que me confundí
Ese artículo ha utilizado funciones de JavaScript IIFE . puede leer más sobre ese concepto en el enlace que decía el artículo original o en cualquier otro tutorial como este . simplemente es una forma de ejecutar una función sin necesidad de llamarla en su código. para una mejor comprensión, convertí el script del artículo original a una función normal.
este es el codigo del articulo:
(function(d) { var itemClassName = "carousel__photo"; items = d.getElementsByClassName(itemClassName), totalItems = items.length, slide = 0, moving = true; console.log(itemClassName); }) (document);Y este es el código que convertí:
let documentVar = document; function carousel(documentArgu) { var itemClassName = "carousel__photo2"; items = documentArgu.getElementsByClassName(itemClassName), totalItems = items.length, slide = 0, moving = true; console.log(itemClassName); } carousel(documentVar) En la versión convertida, debe llamar a la función carousel(documentVar) para ejecutarla. Pero en el código del artículo no necesita llamar a la función. El uso de IIFE tiene otras ventajas, además de que puede leer más en los tutoriales. Pero sobre su pregunta de por qué d significa document , la razón es que podría pasar los argumentos de la función IIFE en el último paréntesis y eso significa que el argumento d usado en function(d) es el mismo documento que se definió en (document) en el último del código del artículo.