为什么typeof val ==='object'&& val.constructor ===如果val在其他框架中创建,则数组失败?

dje*_*lin 7 javascript arrays typeof

在JavaScript中引用Crockford好的部分:

我们可以...定义我们自己的is_array函数:

var is_array = function (value) {
    return value && typeof value === 'object' && value.constructor === Array;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,它无法识别在不同的Windows或框架中构建的数组.

然后他没有解释原因.所以!为什么?