js判断一个对象是数组(函数)的方法实例
因为这个操作符是检测对象的原型链是否指向构造函数的prototype对象的。由于每个iframe都有一套自己的执行环境,跨frame实例化的对象彼此是不共享原型链的,因此导致上述检测代码失效这里使用call来使 toString 中 this 指向 obj。进而完成判断 ECMAScript5将Array.isArray()正式引入JavaScript,目的就是准确地检测一个值是否为数组。综上所述,我们可以综合上面的几种方法,有一个当前的判断数组的最佳写法:上述代码中,为何我们不直接使用原型链的方式判断,而是先判断浏览器支不支持Array.isArray()这个方法,如果不支持才使用原型链的方式呢?我们可以从代码执行效率上看:这张图片我们可以看到,Array.isArray()这个方法的执行速度比原型链的方式快了近一倍。
下载地址
用户评论