sheet practices cheat best javascript google-closure-compiler

practices - problema relacionado con comas finales en JavaScript



javascript cheat sheet pdf (3)

Esta es la coma final:

color : jqTextareaDiv.css("color"), <<--

Posible duplicado:
Internet Explorer, compilador de cierre y comas finales

He intentado comprimir mi código javascript utilizando el compilador de cierre y la compilación del código generó estos dos errores:

JSC_TRAILING_COMMA: Error de análisis. IE8 (y más abajo) analizará las comas al final de los literales de matriz y objeto de forma incorrecta. Si está apuntando a versiones más nuevas de JS, configure la opción language_in apropiada. en la línea 379 caracteres 0 fontFamily: jqTextareaDiv.css ("font-family"). replace (/ ["''] {1} / gi," "),

JSC_TRAILING_COMMA: Error de análisis. IE8 (y más abajo) analizará las comas al final de los literales de matriz y objeto de forma incorrecta. Si está apuntando a versiones más nuevas de JS, configure la opción language_in apropiada. en la línea 932 caracteres 0 fontFamily: jqDiv.css ("font-family"),

Estos dos errros parecen referirse a este código:

var jqTextareaDiv = obj.target.parent().parent(), style = { // the current, relevant style rules for the DIV nesting the textarea fontFamily : jqTextareaDiv.css("font-family").replace(/["'']{1}/gi,""), fontSize : jqTextareaDiv.css("font-size"), fontStyle : jqTextareaDiv.css("font-style"), fontWeight : jqTextareaDiv.css("font-weight"), textDecoration : jqTextareaDiv.css("text-decoration"), textAlign : jqTextareaDiv.css("text-align"), color : jqTextareaDiv.css("color"), }, jqToolbox = $(''#text-edit-toolbox''), jqIndicators = { fontFamily : $(''#font-family-indicator''), fontSize : $(''#font-size-indicator''), fontStyle : $(''#font-format-indicators .font-style''), fontWeight : $(''#font-format-indicators .font-weight''), textDecorationUnderline : $(''#font-format-indicators .underline''), textDecorationLineThrough : $(''#font-format-indicators .line-through''), textAlignLeft : $(''#text-alignment-indicators .align-left''), textAlignCenter : $(''#text-alignment-indicators .align-center''), textAlignRight : $(''#text-alignment-indicators .align-right''), textAlignJustify : $(''#text-alignment-indicators .align-justify'') };

Exactamente, ¿cuál es la coma final en este caso y cómo puedo eliminarla sin romper el código?


Tiene una coma al final en color : jqTextareaDiv.css("color"), Esa sería la primera advertencia. La segunda advertencia es probablemente una definición similar en otro lugar de su código.


Una coma al final es una coma que sigue al elemento final en una matriz u objeto literal. Así como esto:

[''a'', ''b'', ''c'',] // with trailing comma [''a'', ''b'', ''c''] // without trailing comma

En este caso, la coma al final sigue al último elemento en su objeto literal:

color : jqTextareaDiv.css("color"),

Si lo eliminas, se producirá el comportamiento esperado. Con eso allí, a IE <9 no le va a gustar.