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

时间:2018-10-09 09:32:10

标签: javascript constructor typeof

有人可以解释一下为什么此函数将值返回为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>

3 个答案:

答案 0 :(得分:0)

由于数组是使用Array构造函数构造的,即使您使用数组文字语法,也会返回true。

答案 1 :(得分:0)

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

答案 2 :(得分:-1)

myArray.constructor === Array;

两者都具有' function '类型,因此它始终会是 true

让我们接受这段代码。

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

这将记录 false ,因为此处我们将 数字类型 功能进行了比较类型。