我经常使用这段代码来确定数组是否为真正的数组...
Object.prototype.toString.call(array) == '[object Array]'
最近我开始将我的回调函数测试从typeof callback == 'function'
更改为callback instanceof Function
,因为我读到Safari和Chrome会使用前者告诉你正则表达式文字是一个函数(当我测试时它确实这样做了)。
现在,我决定检查这段代码,看看是否可以替换上面冗长的代码...
array instanceof Array
它起作用了。
那么,后一种方法是否存在任何问题?我认为可能存在问题,因为第一个代码示例在Google中出现得更多。
Array.isArray = function(){return false;}
。那真的解决了问题吗?或者这不可能吗?(我对新的JavaScript不是很熟悉,所以很可能我错过了一些基本事实) - Kobi