建议9:正确检测数组类型

  由于数组和对象的数据同源性,导致在JavaScript编程中经常会出现:在必须数组时用了对象,在必须用对象时用了数组.

  typeof检测数组的类型时object,没有意义,所以这里可以通过自定义一个is_array函数来你部缺陷

var is_array = function(value){
  return value && typeof(value) === 'object' && value.constructor === Array;
}

  但是,上面函数在识别从不同的窗口(window)或帧(frame)中构造的数组时会失败,要想准确地检测外部数组类型,还要进一步完善

var is_array = function(value){
  return Object.prototype.toString.apply(value) ==='[Object Array]'
}
posted @ 2019-12-24 16:44  KIU的博客  阅读(133)  评论(0编辑  收藏  举报