2009-11-27 22 views
38

¿Cuál es la longitud máxima de un nombre de variable en JavaScript?Longitud máxima del nombre de la variable en JavaScript

+0

En una nota relacionada: Asumiría que la longitud del nombre no tiene efecto en el rendimiento en tiempo de ejecución después de compilarse con compiladores JavaScript JIT. Tal vez solo una desaceleración de análisis inicial menor y un tiempo de descarga de archivos js un poco más largo en código no modificado. Otra cosa: todos los personajes en un nombre son significativos. En contraste con el intérprete C64 Basic, donde puedes hacer que los nombres de las variables sean muy largos, pero el intérprete solo prestó atención a los primeros 2 caracteres. – user3015682

+0

Supongo que es infinito ... Jaja esta es una buena pregunta: P – Nieck

Respuesta

21

Al igual que he probado anteriormente en:

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
</head> 
<body> 
<script type="text/javascript"> 
/* <![CDATA[ */ 

var aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = 'test'; 
alert(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa); 

/* ]]> */ 
</script> 
</body> 
</html> 

Este script funciona según fina. El nombre de la variable tiene más de 512 caracteres.

Supongo que como Javascript es un lenguaje interpretado en tiempo de ejecución (o formalmente conocido como lenguaje de script), la longitud del nombre de variable no importa siempre que se refiera a una variable definida.

+7

Esto es correcto. La especificación ECMAScript no menciona ningún límite (al menos que he encontrado) y las variables son solo (conceptualmente al menos) propiedades del objeto de activación de la llamada a la función (o el objeto global). Como las propiedades pueden ser cadenas arbitrarias, el límite sería la longitud máxima de una cadena. –

+0

¿qué pasa con la longitud del nombre del campo json? ¿Puede ser tan largo como los nombres de variables en javascript? por ejemplo 100 caracteres de largo – Saifee

+0

@Saifee LMGTFY - Creo que esta publicación responde bien a su pregunta: http://stackoverflow.com/questions/13367391/is-there-a-limit-on-length-of-the-key-string -en-js-objeto – mauris

15

He intentado mauris' example, x10 la cantidad de caracteres, luego de nuevo, luego de nuevo, luego otra vez.

Cuando la longitud variable es de 513k caracteres, mi Notepad ++ está slugging como un caracol. Sin embargo, cuando logré guardar el archivo y ejecutarlo localmente, la alerta aparece sin vacilación.

Probado en: Chrome 19.0.1084.52, IE9, Firefox 11.0, Safari 5.1.5, Opera 11.62

Desde JSBin sólo permite un máximo de 65535 caracteres dentro de las etiquetas <script></script>, sólo logró crear una página con una variable de longitud 32.5k: http://jsbin.com/ukunow/10

Cuestiones relacionadas