Wie lautet die maximale Länge eines Variablennamens in JavaScript?Maximale Länge des Variablennamens in JavaScript
Antwort
So wie ich früher haben getestet:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
/* <![CDATA[ */
var aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = 'test';
alert(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
/* ]]> */
</script>
</body>
</html>
Dieses Skript arbeitet als je Fein. Der Variablenname ist länger als 512 Zeichen.
Meine Vermutung ist, dass, da Javascript eine Laufzeit interpretierte Sprache ist (oder formal als Scripting Language bekannt), die Länge des Variablennamens keine Rolle spielt, solange er sich auf eine definierte Variable bezieht.
Das ist richtig. Die ECMAScript-Spezifikation erwähnt keine Begrenzungen (zumindest habe ich gefunden) und Variablen sind nur (zumindest konzeptionell) Eigenschaften des Aktivierungsobjekts des Funktionsaufrufs (oder des globalen Objekts). Da Eigenschaften beliebige Strings sein können, wäre das Limit die maximale Länge eines Strings. –
Was ist mit JSON Feldname Länge? Kann das so lang sein wie variable Namen in Javascript? zum Beispiel 100 Zeichen lang – Saifee
@Saifee LMGTFY - Ich denke, dieser Beitrag beantwortet Ihre Frage gut: http://stackoverflow.com/questions/13367391/is-there-a-limit-on-length-of-the-key-string -in-js-Objekt – mauris
Ich habe versucht mauris' example, x10 die Anzahl der Zeichen, dann wieder, dann wieder, dann wieder.
Wenn die variable Länge 513k Zeichen beträgt, schlägt mein Notepad ++ wie eine Schnecke. Als ich jedoch die Datei speichern und lokal ausführen konnte, erscheint die Warnung ohne zu zögern.
Getestet auf: Chrome 19.0.1084.52, IE9, Firefox 11.0, Safari 5.1.5, Opera 11.62
Da JSBin nur maximal 65.535 Zeichen innerhalb der <script></script>
Tags erlaubt, ich schaffte es nur eine Seite mit erstellen Eine 32.5k-Längenvariable: http://jsbin.com/ukunow/10
Zu einer verwandten Notiz: Ich würde annehmen, dass die Namenslänge keinen Einfluss auf die Laufzeitleistung hat, nachdem sie mit JavaScript-JIT-Compilern kompiliert wurde. Vielleicht nur eine kleine anfängliche Parsing-Verlangsamung und eine etwas längere Download-Zeit für die js-Datei auf nicht-minimiertem Code. Eine andere Sache: Alle Zeichen in einem Namen sind signifikant. Im Gegensatz zum C64 Basic-Interpreter, bei dem Variablennamen sehr lang sein können, der Interpreter aber nur auf die ersten 2 Zeichen geachtet hat. – user3015682
Ich denke, es ist unendlich ... Haha, das ist eine gute Frage: P – Nieck