instanceofを使用して配列を検出することの欠点は何ですか?

instanceofを使用して配列を検出することの欠点は何ですか?

一般的に、アレイを検出すると言いますが、

if (value instanceof Array){
    
     
 // 操作数组
}

この方法を使用すると、問題に気付くことはめったにありません。
これは私が本で見たものなので、みんなと共有します。これはめったに見られませんが

使用 `instanceof` 的问题是假定只有一个全局执行上下文。如果网页里有多个框架,则可能涉及两
个不同的全局执行上下文,因此就会有两个不同版本的 Array 构造函数。如果要把数组从一个框架传
给另一个框架,则这个数组的构造函数将有别于在第二个框架内本地创建的数组。
为解决这个问题,ECMAScript 提供了 Array.isArray()方法。这个方法的目的就是确定一个值是
否为数组,而不用管它是在哪个全局执行上下文中创建的。来看下面的例子:
if (Array.isArray(value)){
    
     
 // 操作数组
}

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_45416217/article/details/113915689