在javascript中,数组不是true数组。它们是javascript对象。因此,当我们尝试使用typeof()运算符了解其类型时,显示的输出将为object。
typeof(operand);
参数 -的typeof()运算符采用一个操作数并返回操作数的数据类型。
在下面的示例中,即使变量“ a”是一个数组,由于通常每个数组都是对象,因此 typeof()运算符将输出作为对象返回。
<html> <body> <script> var a = [1,2,5,"hello"]; document.write(typeof(a)); var b = {}; document.write("</br>"); document.write(typeof(b)); </script> </body> </html>
输出结果
object object
与typeof()运算符不同,Array.isArray()检查传递的参数是否为array。如果参数是数组,则输出为true ,否则为false 。
Array.isArray(array);
在下面的示例中,数组'a'和对象'b'通过Array.isArray()方法传递。此方法检查它们并分别显示true 和false 作为输出。
<html> <body> <script> var a = [1,2,5,"hello"]; var res1 = Array.isArray(a); document.write(res1); document.write("</br>"); var b = {}; var res2 = Array.isArray(b); document.write(res2); </script> </body> </html>
输出结果
true false