JavaScript 中变量名的最大长度
Posted
技术标签:
【中文标题】JavaScript 中变量名的最大长度【英文标题】:Maximum length of variable name in JavaScript 【发布时间】:2010-12-21 00:24:48 【问题描述】:是多少?
【问题讨论】:
在相关说明中:我假设名称长度在使用 javascript JIT 编译器编译后对运行时性能没有影响。也许只是轻微的初始解析速度变慢和未压缩代码上的 js 文件下载时间稍长。另一件事:名称中的所有字符都很重要。与 C64 Basic 解释器相比,您可以使变量名很长,但解释器只关注前 2 个字符。 我猜它是无限的......哈哈这是个好问题:P 【参考方案1】:我试过the example above,x10 的字符数,然后再一次,再一次,再一次。
当可变长度为 513k 个字符时,我的 Notepad++ 就像蜗牛一样缓慢前进。然而,当我设法保存文件并在本地运行时,警报立即出现。
测试于:Chrome 19.0.1084.52、IE9、FireFox 11.0、Safari 5.1.5、Opera 11.62
由于 JSBin 只允许在 <script></script>
标记中最多包含 65535 个字符,因此我只设法创建了一个长度为 32.5k 变量的页面:http://jsbin.com/ukunow/10
【讨论】:
【参考方案2】:正如我之前测试过的:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
/* <![CDATA[ */
var aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = 'test';
alert(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa );
/* ]]> */
</script>
</body>
</html>
这个脚本可以正常工作。变量名超过 512 个字符。
我的猜测是,由于 Javascript 是一种解释性语言(或称为脚本语言),因此变量名长度无关紧要,只要它引用已定义的变量即可。
【讨论】:
这是正确的。 ECMAScript 规范没有提到任何限制(至少我发现),变量只是(至少在概念上)函数调用的激活对象(或全局对象)的属性。由于属性可以是任意字符串,因此限制将是字符串的最大长度。 json 字段名长度呢?可以和javascript中的变量名一样长吗?例如 100 个字符长 @Saifee LMGTFY - 我认为这篇文章很好地回答了你的问题:***.com/questions/13367391/… @mauris 我知道这是旧的,但 JS 不是脚本语言,它是编译的以上是关于JavaScript 中变量名的最大长度的主要内容,如果未能解决你的问题,请参考以下文章