1、有的计算机一个变量是2个字节,有的是四个字节,当然用处不是很多,但是先记录下来,方便以后查阅,主要思想是用到<<左移运算符,1如果移动到某一位,是负数证明,他在内存中已经移动到最顶部了,这样就可以判断是多少位的内存空间了;具体代码如下:

    1. function getInit(){
    2. let start=1;
    3. let arr=[8,16,32,64];
    4. for(let i=0,len=arr.length;i<len;i++){
    5. for(let j=0;j<=arr[i]-2;j++){
    6. if(j==arr[i]-2){
    7. let prev=1<<j;
    8. let next=1<<(j+1);
    9. if(prev>0&&next<0){
    10. let result= arr[i];
    11. return result;
    12. }
    13. }
    14. }
    15. }
    16. }
    17. let coreBit=getInit();
    18. console.log("您当前电脑的变量占据:",parseInt(coreBit/8),"个字节");

    注意一下,这块有一个条件,就是1左移到8-2,16-2,32-2,64-2这些位置,如果是整数,下一次位移是负数,那么就可以判断是多少位内存了。

    后来发现了一个更简便的方法:

    1. function getInit(){
    2. let result;
    3. for(let i=1;i<=1000;i++){
    4. let leftVal=1<<i;
    5. if(leftVal==1){
    6. result=i/8;
    7. break;
    8. }
    9. }
    10. console.log("您当前电脑的变量占据:",result,"个字节");
    11. }