parseInt toma dos parámetros, el segundo es opcional. Cadena y Radix.
cadena es el valor de analizar. Si el valor proporcionado no es una cadena, lo convertirá en una cadena.
Radix es un número entero entre 2 y 36 que representa el radix (la base en sistemas de numeración matemática) de la cadena mencionada.
En el fragmento de código de la Radix no se especifica y se supone que es por defecto 16.
var maxChars = parseInt(formField.attr('maxlength') ? formField.attr('maxlength') : counter.text());
está definiendo una variable llamada "maxChars". Esta variable es igual a la evaluación de una declaración FI de mano corta.
que está recibiendo el atributo de la variable que se espera que sea un selector "FormField" llamada "maxLength". El valor retornará como un entero, retrocederá en su raíz por defecto.
La sentencia if comprueba si el valor devuelto es verdadera o falsa. 0, falso, ectcetera daría como resultado que el valor de la variable "maxChars" se establezca en texto combinado "contadores". Si es verdadero, la variable se establecerá como el atributo selector "formField" llamado "maxLength".
formField.attr('maxlength')
¿Hay dos veces porque se emplea en una evaluación instrucción IF y el otro se utiliza como valor si la condición en los resultados de la instrucción IF como TRUE.
¿Está [el manual] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt) poco claro? – Quentin
No se especificó _ radix en este ejemplo ... Toda la expresión dentro de 'parseInt()' es una instrucción ternaria que devuelve la longitud máxima si se especifica o 'counter.text()' si no lo es. –
Al final, todo lo que obtiene de esto es 'parseInt (formField.attr ('maxlength'))' OR 'parseInt (counter.text())' –