¿Por qué esto no funcionará en JSLint? ¿Qué pasa con mi JS?

<script type="application/javascript"> 
    function feedpixel(){

    var feedpixelpixel = new Image(1,1);feedpixel.src = "http://test.com/pixel/;    
           };
    feedpixel();
</script>
Unexpected '<'.

<script type="application/javascript"> 

line 1 character 2
Stopping. (14% scanned).
-4
Tampa 29 ago. 2014 a las 06:48

2 respuestas

La mejor respuesta

Se corrigieron las citas finales incorrectas y la referencia incorrecta al nombre de la variable.

    <script type="text/javascript"> 
        function feedpixel(){

            var feedpixelpixel = new Image(1,1);
            feedpixelpixel.src = 'http://test.com/pixel/';    
       };

       feedpixel();
    </script>
3
Adam Pedley 29 ago. 2014 a las 07:15

Algunos errores:

  1. No puede colocar las etiquetas script en JSLint: son HTML, no JavaScript.
  2. Debería ser <script type="text/javascript">...</script> en lugar de application/javascript.
  3. Estás modificando el .src de feedpixel (tu función) en lugar de feedpixelpixel (tu variable): aquí es donde entran en juego las buenas convenciones de nomenclatura.
  4. Te falta un paréntesis de cierre en la línea feedpixelpixel.src. Debería ser

    var feedpixelpixel = new Image(1,1);
    feedpixelpixel.src = "http://test.com/pixel/";
    

    en lugar de

    var feedpixelpixel = new Image(1,1);
    feedpixel.src = "http://test.com/pixel/;
    

    (Observe la diferencia de color de sintaxis en el punto y coma).

Esto es lo que deberías poner en JSLint:

function feedpixel(){
    var feedpixelpixel = new Image(1,1);
    feedpixelpixel.src = "http://test.com/pixel/;"
}

feedpixel();
2
AstroCB 29 ago. 2014 a las 02:59