2009-11-27 16 views
38

JavaScript에서 변수 이름의 최대 길이는 얼마입니까?JavaScript의 변수 이름의 최대 길이

+0

관련 메모 : JavaScript JIT 컴파일러로 컴파일 한 후 이름 길이가 런타임 성능에 영향을주지 않는다고 가정합니다. 아마도 사소한 초기 구문 분석은 속도가 느리고 구문 분석되지 않은 코드의 경우 약간 긴 js 파일 다운로드 시간을 구문 분석 할 수 있습니다. 또 다른 한가지 : 이름의 모든 문자가 중요합니다. 변수 이름을 매우 길게 만들 수있는 C64 기본 인터프리터와 달리 해석기는 처음 2 자만주의를 기울였습니다. – user3015682

+0

나는 그것이 무한하다고 생각한다. 하하 이것은 좋은 질문이다 : P – Nieck

답변

21

내가 이전에 테스트 한 것처럼 :

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

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

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

이 스크립트는 잘 따라 작동합니다. 변수 이름이 512자를 초과합니다.

Javascript는 런타임 해석 언어 (또는 공식적으로 Scripting Language)이므로 변수 이름 길이는 정의 된 변수를 참조하는 한 중요하지 않습니다.

+7

이것은 맞다. ECMAScript 스펙에는 (적어도 발견 한) 한계가 언급되어 있지 않으며 변수는 개념 호출의 활성화 오브젝트 (또는 전역 오브젝트)의 등록 정보 (개념 상 적어도)입니다. 속성은 임의의 문자열 일 수 있으므로 제한은 문자열의 최대 길이가됩니다. –

+0

json 필드 이름 길이는 어떻습니까? 자바 스크립트의 변수 이름만큼 길어질 수 있습니까? 예 : 100 자 길이 – Saifee

+0

@Saifee LMGTFY -이 게시글은 귀하의 질문에 대한 답변에 도움이됩니다. http://stackoverflow.com/questions/13367391/is-there-a-limit-on-length-of-the-key-string -in-js-object – mauris

15

문자 크기를 mauris' example, x10, 다시 시도한 다음 다시 시도했습니다.

가변 길이가 513k 문자의 경우 내 메모장 ++는 달팽이처럼 느껴집니다. 그러나 파일을 저장하고 로컬에서 실행하면 경고가 주저없이 나타납니다.

에서 테스트 : 크롬 19.0.1084.52, IE9, 파이어 폭스 11.0, 사파리 5.1.5, 오페라 11.62

JSBin 만 할 수 있기 때문에 <script></script> 태그 내에서 65535 자까지, 나는 단지가있는 페이지를 만들 수 관리 32.5k 길이 변수 : http://jsbin.com/ukunow/10