Javascript 函数输出 |构造函数类型



有人可以解释为什么这个函数返回值为true吗?

<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Array Object</h2>
<p id="demo"></p>
<script>
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = isArray(fruits);
function isArray(myArray) {
return myArray.constructor === Array;
}
</script>
</body>
</html>

它返回 true,因为数组是使用Array构造函数构造的,即使您使用数组文本语法也是如此。

myArray.constructor等于Array.constructor因为属性引用了相同的值 -Array。为什么?因为它是由构造函数Array构造的。Array === Array是真的

myArray.constructor === Array;

两者都有类型">函数",所以它总是被证明是正确的。

让我们采用此代码。

let a=2;
console.log(a === Array);

这将记录false,因为这里我们将数字类型与函数类型进行比较。

最新更新