JavaScript RangeError – 无效的数组长度

JavaScript RangeError – 无效的数组长度

此JavaScript异常 无效的数组长度 在创建一个长度为负数或大于等于32的数组或ArrayBuffer时发生。如果手动设置length属性为负数或大于等于32的值,也会发生这个异常。

输出信息:

RangeError: Array length must be a finite positive integer (Edge)
RangeError: invalid array length (Firefox)
RangeError: Invalid array length (Chrome)
RangeError: Invalid array buffer length (Chrome)
JavaScript

错误类型:

RangeError
JavaScript

错误原因: 数组或ArrayBuffer的长度只能用无符号32位整数表示,这个整数只能存储从0到232-1的值。如果创建一个数组或ArrayBuffer时,数组的长度为负数或大于等于232,则会发生这个错误。

示例1: 在这个示例中,长度属性被设置为6,这是一个有效的值,因此没有发生错误。

<head> 
    <script src= 
"https://code.jquery.com/jquery-3.5.0.js"> 
    </script> 
</head> 
<body style="text-align: center;"> 
    <h1 style="color: green;"> 
        GeeksforGeeks 
    </h1> 
  
    <p> 
        JavaScript RangeError 
        Invalid array length 
    </p> 
  
    <button onclick="Geeks();"> 
        click here 
    </button> 
    <p id="GFG_DOWN"></p> 
  
    <script> 
        var el_down = document.getElementById("GFG_DOWN"); 
        function Geeks() { 
            try { 
                let a = []; 
                a.length = 6; 
                el_down.innerHTML =  
                  "'Invalid array length' "+ 
                  "error has not occurred"; 
            } catch (e) { 
                
                // Show the error in console 
                console.log(e); 
                el_down.innerHTML =  
                  "'Invalid array length' "+ 
                  "error has occurred"; 
            } 
        } 
    </script> 
</body>
HTML

输出:

JavaScript RangeError – 无效的数组长度

示例2: 在这个示例中,长度属性被设置为-1,这是一个无效的值,因此发生了错误。

<head> 
    <script src= 
"https://code.jquery.com/jquery-3.5.0.js"> 
    </script> 
</head> 
<body style="text-align: center;"> 
    <h1 style="color: green;"> 
        GeeksforGeeks 
    </h1> 
  
    <p> 
        JavaScript RangeError 
        Invalid array length 
    </p> 
  
    <button onclick="Geeks();"> 
        click here 
    </button> 
    <p id="GFG_DOWN"></p> 
  
    <script> 
        var el_down = document.getElementById("GFG_DOWN"); 
        function Geeks() { 
            try { 
                let a = []; 
                a.length = -1; 
                el_down.innerHTML =  
                  "'Invalid array length' "+ 
                  "error has not occurred"; 
            } catch (e) { 
                
                // Show the error in console 
                console.log(e); 
                el_down.innerHTML =  
                  "'Invalid array length' "+ 
                  "error has occurred"; 
            } 
        } 
    </script> 
</body>
HTML

输出:

JavaScript RangeError – 无效的数组长度

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册