我正在学习 JavaScript。我正在读的书告诉我,当值在数组之间来回传递时,instanceOf无法识别数组对象 同一网页中的框架,因为每个网页都有其 自己的全局上下文——它自己的内置类型版本。因此 ECMAScript 5 引入了 Array.isArray(),我们应该使用它。非常清楚的解释。我的问题是为什么其他内置类型(例如 Date、RegExp)没有类似的方法。如何在多框架的网页中安全地识别它们。
最佳答案
您可以使用Object.prototype.toString
:
function typeOf(obj) {
return {}.toString.call(obj).slice(8,-1);
}
typeOf(obj) == 'Date'
typeOf(obj) == 'RegExp'
...
关于javascript - 其他内置类型的类似方法,如 Array.IsArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004301/