JavaScript中变量名的最大长度什么?

作者 : IT 大叔 本文共1104个字,预计阅读时间需要3分钟 发布时间: 2020-10-14

这篇文章是关于JavaScript变量名的最大长度。

答案是:

2 ** 29 - 63

很长的变量名,是吗?

它超过500兆字节!

我不知道为什么会这样,但我使用对分算法对此进行了精确检查。

 

1
2
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
131072
262144
524288
1048576
2097152
4194304
8388608
16777216
33554432
67108864
134217728
268435456
536870912
402653184
469762048
503316480
520093696
528482304
532676608
534773760
535822336
536346624
536608768
536739840
536805376
536838144
536854528
536862720
536866816
536868864
536869888
536870400
536870656
536870784
536870848
536870880
536870864
536870856
536870852
536870850
536870849
'maxConstName', 536870849

这是我写的代码。

const naturalSearch = (cond, retFirstTrue = true) => {
  let min = 1;
  let max = 1;
  while(1) {
    const stop = cond(max);
    if (stop) break;
    min = max;
    max *= 2;
  }
  let mid;
  while (1) {
    mid = Math.floor((min + max) / 2);
    const stop = cond(mid);
    if (stop) {
      max = mid;
    } else {
      min = mid;
    }
    const diff = max - min;
    if (max - min <= 1) {
      return retFirstTrue ? max : min;
    }
  }
};

const checkConstName = n => {
  console.log(n);
  try {
    const name = 'a'.repeat(n);
    new Function(`const ${name} = 5;`)();
    return false;
  } catch (e) {
    return true;
  }
  return false;
};

const maxConstName = naturalSearch(checkConstName, false);

console.log('maxConstName', maxConstName);
免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » JavaScript中变量名的最大长度什么?

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论